99fac9463341da9730b15b782f8a13c44fba80f3
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-18  Simon Fraser  <simon.fraser@apple.com>
2
3         [Mac] Some tests intermittently asserts in SharedBuffer::releasePurgeableBuffer()
4         https://bugs.webkit.org/show_bug.cgi?id=105986
5
6         Reviewed by Brady Eidson.
7         
8         A ResourceBuffer's SharedBuffer can be vended out to other clients,
9         for example Images, so there's no guarantee that when the
10         ResourceBuffer only has one ref its SharedBuffer will also have just one.
11         When this assumption was broken, SharedBuffer::releasePurgeableBuffer()
12         would assert.
13         
14         Ideally SharedBuffer would be entirely encapsulated by ResourceBuffer to
15         avoid this problem, but ResourceBuffer can't be used by code in platform/.
16         
17         Fix by having ResourceBuffer::createPurgeableBuffer() refuse to make
18         a purgeable buffer if the sharedBuffer has more than one ref.
19
20         Tested by existing tests.
21
22         * loader/ResourceBuffer.cpp:
23         (WebCore::ResourceBuffer::createPurgeableBuffer):
24
25 2013-03-18  Ilya Tikhonovsky  <loislo@chromium.org>
26
27         Web Inspector: move _timelineGrid && _timelineOverviewWindow from TimelineOverviewPane into a new class OverviewGrid.
28         https://bugs.webkit.org/show_bug.cgi?id=112584
29
30         Reviewed by Pavel Feldman.
31
32         It is the first path in the set.
33         The end goal is to extract OverviewGrid with window selectors
34         into a separate class in separate file and reuse it in CPU FlameChart.
35
36         * inspector/front-end/TimelineOverviewPane.js:
37         (WebInspector.TimelineOverviewPane):
38         (WebInspector.OverviewGrid):
39         (WebInspector.OverviewGrid.prototype.get grid):
40         (WebInspector.OverviewGrid.prototype.get clientWidth):
41         (WebInspector.OverviewGrid.prototype.showItemsGraphsElement):
42         (WebInspector.OverviewGrid.prototype.hideItemsGraphsElement):
43         (WebInspector.OverviewGrid.prototype.updateDividers):
44         (WebInspector.OverviewGrid.prototype.addEventDividers):
45         (WebInspector.OverviewGrid.prototype.removeEventDividers):
46         (WebInspector.OverviewGrid.prototype.setWindowPosition):
47         (WebInspector.OverviewGrid.prototype.reset):
48         (WebInspector.OverviewGrid.prototype.get windowLeft):
49         (WebInspector.OverviewGrid.prototype.get windowRight):
50         (WebInspector.OverviewGrid.prototype.setWindow):
51         (WebInspector.OverviewGrid.prototype.addEventListener):
52         (WebInspector.TimelineOverviewPane.prototype.setMode):
53         (WebInspector.TimelineOverviewPane.prototype._setFrameMode):
54         (WebInspector.TimelineOverviewPane.prototype._update):
55         (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
56         (WebInspector.TimelineOverviewPane.prototype.zoomToFrame):
57         (WebInspector.TimelineOverviewPane.prototype._reset):
58         (WebInspector.TimelineOverviewPane.prototype.windowLeft):
59         (WebInspector.TimelineOverviewPane.prototype.windowRight):
60         (WebInspector.TimelineOverviewPane.prototype._updateWindow):
61
62 2013-03-18  Adam Barth  <abarth@webkit.org>
63
64         [V8] Crash when accessing onclick attribute of document from XMLHttpRequest
65         https://bugs.webkit.org/show_bug.cgi?id=112585
66
67         Reviewed by Eric Seidel.
68
69         This ASSERT was bogus. The frame can be 0 for frameless documents, like
70         those created by XMLHttpRequest. When there is no frame, we act as if
71         JavaScript was disabled, which it is.
72
73         Test: fast/events/xhr-onclick-crash.html
74
75         * bindings/v8/V8LazyEventListener.cpp:
76         (WebCore::V8LazyEventListener::prepareListenerObject):
77
78 2013-03-18  Hans Muller  <hmuller@adobe.com>
79
80         [CSS Exclusions] Specifying polygonal -webkit-shape-inside value can crash browser (debug mode)
81         https://bugs.webkit.org/show_bug.cgi?id=112157
82
83         Reviewed by David Hyatt.
84
85         Corrected the code which maps exclusion segments to pairs of InlineIterators. We now handle the
86         cases where the end of the line occurs within an exclusion segment or when it occurs before
87         the last exclusion segment has been reached. This can occur when a non-convex polygonal shape-inside
88         breaks a line up into two segments, but the shape-inside element's content only fills (or partially
89         fills) the first exclusion shape segment.
90
91         Tests: fast/exclusions/shape-inside/shape-inside-partial-fill-001.html
92                fast/exclusions/shape-inside/shape-inside-partial-fill-002.html
93
94         * rendering/RenderBlockLineLayout.cpp:
95         (WebCore::RenderBlock::LineBreaker::nextLineBreak):
96
97 2013-03-18  Emil A Eklund  <eae@chromium.org>
98
99         Change RenderTableCell to use pixelSnappedSize when painting
100         https://bugs.webkit.org/show_bug.cgi?id=112562
101
102         Reviewed by Eric Seidel.
103
104         Change the paining code in RenderTableCell to use the pixel snapped size
105         to ensure consistent rounding given that the location was rounded during
106         layout.
107
108         It is currently constructing a paint rect by taking the rounded location
109         and the precise size and then pixel snapping it. This causes the size to
110         be rounded incorrectly. By instead using the pixel snapped size the
111         rounding problem can be avoided.
112
113         Test: fast/sub-pixel/table-cell-background.html
114
115         * rendering/RenderTableCell.cpp:
116         (WebCore::RenderTableCell::paintCollapsedBorders):
117         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
118         (WebCore::RenderTableCell::paintBoxDecorations):
119         (WebCore::RenderTableCell::paintMask):
120
121 2013-03-18  Tao Bai  <michaelbai@chromium.org>
122
123         Need to use const String in HTMLVideoElement::posterImageURL
124         https://bugs.webkit.org/show_bug.cgi?id=112317
125
126         Reviewed by Andreas Kling.
127
128         No behavioral changes.
129
130         This is the followup of https://bugs.webkit.org/show_bug.cgi?id=110263
131         Need to use String instead of const AtomicString& which means we will do an extra hash lookup
132
133         * html/HTMLVideoElement.cpp:
134         (WebCore::HTMLVideoElement::posterImageURL): Change to use String for url
135
136 2013-03-18  Eugene Klyuchnikov  <eustas@chromium.org>
137
138         Web Inspector: [Settings] Register "?" shortcut.
139         https://bugs.webkit.org/show_bug.cgi?id=112545
140
141         Reviewed by Vsevolod Vlasov.
142
143         F1 and "?" (show shortcuts page) are not mentioned on shortcuts page.
144
145         * English.lproj/localizedStrings.js: Added string.
146         * inspector/front-end/inspector.js: Registered F1 / "?" shortcut.
147
148 2013-03-18  Carlos Garcia Campos  <cgarcia@igalia.com>
149
150         Add USE(PLATFORM_STRATEGIES) ifdefs to StorageNamespace.cpp
151         https://bugs.webkit.org/show_bug.cgi?id=112004
152
153         Reviewed by Rob Buis.
154
155         Check if platform strategies is enabled before using it, falling
156         back to StorageNamespaceImpl if it isn't.
157
158         * storage/StorageNamespace.cpp:
159         (WebCore::StorageNamespace::localStorageNamespace):
160         (WebCore::StorageNamespace::sessionStorageNamespace):
161
162 2013-03-18  Vsevolod Vlasov  <vsevik@chromium.org>
163
164         Web Inspector: TabbedEditorContainer does not restore last shown file on reload sometimes.
165         https://bugs.webkit.org/show_bug.cgi?id=112561
166
167         Reviewed by Alexander Pavlov.
168
169         * inspector/front-end/TabbedEditorContainer.js:
170         (WebInspector.TabbedEditorContainer.prototype.addUISourceCode):
171
172 2013-03-18  Arvid Nilsson  <anilsson@rim.com>
173
174         [BlackBerry] Detach overlays from page when compositor is detached
175         https://bugs.webkit.org/show_bug.cgi?id=112424
176
177         Reviewed by Rob Buis.
178
179         PR 309160
180
181         Expose a method to retrieve a compositing thread layer's client.
182
183         No change in behavior, no new tests.
184
185         * platform/graphics/blackberry/LayerCompositingThread.h:
186         (WebCore::LayerCompositingThread::client):
187
188 2013-03-18  Eugene Klyuchnikov  <eustas@chromium.org>
189
190         Web Inspector: [Resources] Local Storage: duplicate keys are processed inappropriately.
191         https://bugs.webkit.org/show_bug.cgi?id=112402
192
193         Reviewed by Alexander Pavlov.
194
195         When user creates new items or renames existing one some existing item
196         may be overriden. If value is changed, then frontend will receive
197         notification and update record appropriately.
198
199         If item value hasn't been changed, then no notification comes.
200         But UI still expect / rely on this notification.
201
202         With this patch the "no notification" scenario is fixed:
203         duplicate items are removed.
204
205         Another scenario is when update notification comes when we started
206         editing value (after entering / renaming key). In this case
207         selected node should not be changed to leave user in editing mode.
208
209         * inspector/front-end/DOMStorageItemsView.js:
210         Added workarounds for "no notification" and "useless notification".
211
212 2013-03-18  Allan Sandfeld Jensen  <allan.jensen@digia.com>
213
214         Clean up RenderFrameSet::nodeAtPoint
215         https://bugs.webkit.org/show_bug.cgi?id=112450
216
217         Reviewed by Eric Seidel.
218
219         Remove handling of resizing framesets from RenderFrameSet::nodeAtPoint.
220         The code has been incorrect since a mistake in r18333 (December 2006),
221         but has been dead code since r17770 (November 2006) where the then new
222         EventHandler started taking care of routing events to resizing FrameSets.
223
224         Since this was the only special feature of RenderFrameSet::nodeAtPoint,
225         the method has been removed.
226
227         * rendering/RenderFrameSet.cpp:
228         * rendering/RenderFrameSet.h:
229         (RenderFrameSet):
230
231 2013-03-18  Kunihiko Sakamoto  <ksakamoto@chromium.org>
232
233         The 'formnovalidate' attribute doesn't work correctly on button elements with child elements
234         https://bugs.webkit.org/show_bug.cgi?id=112541
235
236         Reviewed by Kent Tamura.
237
238         Fix a bug where formnovalidate attribute of <button> is not honored
239         if the target of the click event is an element nested within the button.
240
241         Test: fast/forms/interactive-validation-formnovalidate-child.html
242
243         * html/HTMLFormElement.cpp:
244         (WebCore::submitElementFromEvent): Looks for the nearest FormControlElement ancestor of the event target.
245
246 2013-03-18  Keishi Hattori  <keishi@webkit.org>
247
248         Add touch support to the calendar picker
249         https://bugs.webkit.org/show_bug.cgi?id=112256
250
251         Reviewed by Kent Tamura.
252
253         This patch increases the hit target sizes for touch and adds touch event
254         support to the scroll view, scroll bar and navigation button.
255
256         Tests: platform/chromium/fast/forms/calendar-picker/calendar-picker-touch-operations.html
257                platform/chromium/fast/forms/calendar-picker/month-picker-touch-operations.html
258                platform/chromium/fast/forms/calendar-picker/week-picker-touch-operations.html
259
260         * Resources/pagepopups/calendarPicker.js:
261         (hasInaccuratePointingDevice):
262         (Animator): Super class for TransitionAnimator and FlingGestureAnimator.
263         (Animator.prototype.start):
264         (Animator.prototype.stop):
265         (Animator.prototype.onAnimationFrame):
266         (TransitionAnimator): Same as the old Animator. Transition from one value to another.
267         (TransitionAnimator.prototype.setFrom):
268         (TransitionAnimator.prototype.start):
269         (TransitionAnimator.prototype.stop):
270         (TransitionAnimator.prototype.setTo):
271         (TransitionAnimator.prototype.onAnimationFrame):
272         (FlingGestureAnimator):Animates the fling scroll. 
273         (FlingGestureAnimator.prototype._valueAtTime): Returns the value at the given time.
274         (FlingGestureAnimator.prototype._velocityAtTime): Returns the value change velocity at the given time.
275         (FlingGestureAnimator.prototype._timeAtVelocity): Returns the time when the value is changing at the given velocity.
276         (FlingGestureAnimator.prototype.start):
277         (FlingGestureAnimator.prototype.onAnimationFrame):
278         (ScrollView): Added support for touch gesture scrolling.
279         (ScrollView.prototype.onTouchStart):
280         (ScrollView.prototype.onWindowTouchMove):
281         (ScrollView.prototype.onWindowTouchEnd):
282         (ScrollView.prototype.onFlingGestureAnimatorStep):
283         (ScrollView.prototype.scrollTo):
284         (ScrubbyScrollBar): Added support for touch.
285         (ScrubbyScrollBar.prototype.onTouchStart):
286         (ScrubbyScrollBar.prototype.onWindowTouchMove):
287         (ScrubbyScrollBar.prototype.onWindowTouchEnd):
288         (ScrubbyScrollBar.prototype._setThumbPositionFromEventPosition): Accept MouseEvent or Touch.
289         (ScrubbyScrollBar.prototype.onMouseDown):
290         (ScrubbyScrollBar.prototype.onWindowMouseMove):
291         (ScrubbyScrollBar.prototype.onWindowMouseUp):
292         (YearListCell):
293         (YearListView):
294         (YearListView.prototype.onTouchStart):
295         (YearListView.prototype._animateRow):
296         (CalendarNavigationButton): Add touch support for long press.
297         (CalendarNavigationButton.prototype.onTouchStart):
298         (CalendarNavigationButton.prototype.onWindowTouchEnd):
299         (CalendarNavigationButton.prototype.onMouseDown):
300         (CalendarNavigationButton.prototype.onWindowMouseUp):
301         (CalendarTableView): Disable touch gesture scrolling in the calendar table.
302
303 2013-03-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
304
305         [EFL] Cancel mark on search field is not displayed
306         https://bugs.webkit.org/show_bug.cgi?id=94880
307
308         Reviewed by Kenneth Rohde Christiansen.
309
310         adjustSearchFieldCancelButtonStyle() doesn't set style width and height for search cancel button.
311         So, the button isn't showing up in search input field. Besides the button size should be scaled based
312         on the font size as chromium, qt, and blackberry ports.
313
314         Tests: fast/forms/search-cancel-button-style-sharing.html
315                fast/forms/search-rtl.html
316
317         * platform/efl/RenderThemeEfl.cpp:
318         (WebCore):
319         (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
320
321 2013-03-15  Yury Semikhatsky  <yurys@chromium.org>
322
323         Web Inspector: Native Memory Timeline affects the performace even if was switched off.
324         https://bugs.webkit.org/show_bug.cgi?id=112428
325
326         Reviewed by Pavel Feldman.
327
328         Whether to include DOM counters and native memory statistics is now
329         configured using Timeline.start parameters instead of sending separate
330         commands Timeline.setIncludeDomCounters and Timeline.setIncludeNativeMemoryStatistics.
331
332         * inspector/Inspector.json:
333         * inspector/InspectorTimelineAgent.cpp:
334         (WebCore::InspectorTimelineAgent::restore):
335         (WebCore::InspectorTimelineAgent::start):
336         * inspector/InspectorTimelineAgent.h:
337         (InspectorTimelineAgent):
338         * inspector/front-end/DOMCountersGraph.js:
339         (WebInspector.DOMCountersGraph):
340         * inspector/front-end/NativeMemoryGraph.js:
341         (WebInspector.NativeMemoryGraph):
342         * inspector/front-end/TimelineManager.js:
343         (WebInspector.TimelineManager.prototype.start):
344         * inspector/front-end/TimelineModel.js:
345         (WebInspector.TimelineModel.prototype.startRecord):
346         * inspector/front-end/TimelinePanel.js:
347         (WebInspector.TimelinePanel.prototype.get _toggleTimelineButtonClicked):
348
349 2013-03-18  Yury Semikhatsky  <yurys@chromium.org>
350
351         Web Inspector: Exception in timeline DOMCounters
352         https://bugs.webkit.org/show_bug.cgi?id=112427
353
354         Reviewed by Pavel Feldman.
355
356         Do not update marker on DOM counters graph if the graphs haven't been
357         drawn yet.
358
359         * inspector/front-end/MemoryStatistics.js:
360         (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
361
362 2013-03-18  Li Yin  <li.yin@intel.com>
363
364         Mediastream.ended should return true when all tracks were removed.
365         https://bugs.webkit.org/show_bug.cgi?id=112528
366
367         Reviewed by Kentaro Hara.
368
369         Spec: http://dev.w3.org/2011/webrtc/editor/getusermedia.html#widl-MediaStream-ended
370         When all tracks have been removed, it should return true as well as all the tracks
371         were ended.
372
373         Test: fast/mediastream/MediaStream-add-remove-tracks.html
374
375         * Modules/mediastream/MediaStream.cpp:
376         (WebCore::MediaStream::removeTrack):
377
378 2013-02-22  Andrey Kosyakov  <caseq@chromium.org>
379
380         Web Inspector: make number of stack frames to capture in Timeline a setting
381         https://bugs.webkit.org/show_bug.cgi?id=110619
382
383         Reviewed by Pavel Feldman.
384
385         - factor out creation of input type="text" control for better reuse;
386         - add timelineLimitStackFramesFlag & timelineStackFramesToCapture settings;
387
388         * English.lproj/localizedStrings.js: add "Frames to capture" and "Limit number of captured JS stack frames"
389         * inspector/front-end/Settings.js: add 2 settings;
390         (WebInspector.Settings):
391         * inspector/front-end/SettingsScreen.js: UI for the setting;
392         (WebInspector.GenericSettingsTab):
393         (WebInspector.GenericSettingsTab.prototype.get _createCSSAutoReloadControls.validateReloadTimeout):
394         * inspector/front-end/TimelineModel.js: pass the setting value to back-end.
395
396 2013-03-18  Sheriff Bot  <webkit.review.bot@gmail.com>
397
398         Unreviewed, rolling out r146035.
399         http://trac.webkit.org/changeset/146035
400         https://bugs.webkit.org/show_bug.cgi?id=112540
401
402         fails to build on Windows: singned/unsigned mismatch at ln. 53
403         of html\HTMLSelectElementWin.cpp (Requested by antonm on
404         #webkit).
405
406         * WebCore.gypi:
407         * html/HTMLSelectElement.cpp:
408         (WebCore):
409         * html/HTMLSelectElementWin.cpp:
410
411 2013-03-18  Kentaro Hara  <haraken@chromium.org>
412
413         Unreviewed, rolling out r146033.
414         http://trac.webkit.org/changeset/146033
415         https://bugs.webkit.org/show_bug.cgi?id=112521
416
417         web audio tests are broken
418
419         * Modules/webaudio/AudioNode.cpp:
420         (WebCore::AudioNode::AudioNode):
421         * Modules/webaudio/AudioNode.h:
422         * Modules/webaudio/AudioScheduledSourceNode.h:
423         * Modules/webaudio/ScriptProcessorNode.idl:
424
425 2013-03-18  Dominic Cooney  <dominicc@chromium.org>
426
427         A placeholder renderer should not be taken to imply the existence of a text renderer in single line text controls
428         https://bugs.webkit.org/show_bug.cgi?id=112410
429
430         Reviewed by Tony Chang.
431
432         The assumption that if a text control had a placeholder renderer
433         then it also had a text renderer is not valid. If
434         ::-webkit-textfield-decoration-controller is set to display: none;
435         a single line text control's decoration container renderer and
436         hence text renderer are not created. This change handles this
437         corner case where a text control has a placeholder renderer but
438         not a text renderer.
439
440         Tests: fast/forms/search/search-hide-decoration-container-crash.html (Updated)
441
442         * html/HTMLTextFormControlElement.cpp:
443         (WebCore::HTMLTextFormControlElement::fixPlaceholderRenderer):
444         * rendering/RenderTextControlSingleLine.cpp:
445         (WebCore::RenderTextControlSingleLine::layout):
446
447 2013-03-18  Dominic Cooney  <dominicc@chromium.org>
448
449         [Shadow] offsetParent should never return nodes in user agent Shadow DOM to script
450         https://bugs.webkit.org/show_bug.cgi?id=112530
451
452         Reviewed by Elliott Sprehn.
453
454         Test: fast/dom/shadow/offset-parent-does-not-leak-ua-shadow.html
455
456         * dom/Element.cpp:
457         (WebCore::Element::bindingsOffsetParent): Filter nodes in UA shadows.
458         * dom/Element.h:
459         (Element): Add bindingsOffsetParent.
460         * dom/Element.idl: bindingsOffsetParent is the implementation of offsetParent.
461
462 2013-03-17  Dominic Mazzoni  <dmazzoni@google.com>
463
464         Support Windows HTMLSelectElement keystrokes on Chromium win
465         https://bugs.webkit.org/show_bug.cgi?id=112460
466
467         Reviewed by Kent Tamura.
468
469         Compile in the windows-specific variant of
470         HTMLSelectElement::platformHandleKeydownEvent
471         on Chromium win, in addition to PLATFORM(WIN).
472
473         * WebCore.gypi:
474             Add html/HTMLSelectElementWin.cpp.
475         * html/HTMLSelectElement.cpp:
476             Don't compile generic platformHandleKeydownEvent on
477             Chromium win.
478         * html/HTMLSelectElementWin.cpp:
479             Only compile platformHandleKeydownEvent on Windows.
480         (WebCore):
481
482 2013-03-17  Russell McClellan  <russell.mcclellan@gmail.com>
483
484         ScriptProcessorNode is garbage collected while still active if unreachable
485         https://bugs.webkit.org/show_bug.cgi?id=112521
486
487         Reviewed by Kentaro Hara.
488
489         Fix for issue where ScriptProcessorNodes (and AudioNode js wrappers generally)
490         would be garbage collected before their time.  Made AudioNode an ActiveDOMElement
491         marked pending if there are any open audio connections.
492
493         Test: webaudio/javascriptaudionode.html
494
495         * Modules/webaudio/AudioNode.cpp:
496         (WebCore::AudioNode::AudioNode): 
497         (WebCore::AudioNode::hasPendingActivity): it's pending (and thus not GCed)
498         if it has open audio connections.
499         * Modules/webaudio/AudioNode.h: AudioNode is now an ActiveDOMElement
500         * Modules/webaudio/AudioScheduledSourceNode.h: added a using declaration
501         to avoid function name hiding.
502         * Modules/webaudio/ScriptProcessorNode.idl: AudioNode is an ActiveDOMElement
503
504 2013-03-17  Kunihiko Sakamoto  <ksakamoto@chromium.org>
505
506         INPUT_MULTIPLE_FIELDS_UI: Step-up/-down of minute/second/millisecond fields should respect min/max attributes
507         https://bugs.webkit.org/show_bug.cgi?id=112527
508
509         Reviewed by Kent Tamura.
510
511         Make step-up/-down of the minute, second, and millisecond field
512         respect the min/max attributes of the element.
513         Note that it still accepts any keyboard inputs (the element
514         becomes 'invalid' state when out-of-range values entered).
515         Also, disable these fields when there is only single possible value.
516
517         Tests: fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield.html
518                fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html
519
520         * html/shadow/DateTimeEditElement.cpp:
521         (DateTimeEditBuilder): Add fields for min/max of minute/second/millisecond.
522         (WebCore::DateTimeEditBuilder::DateTimeEditBuilder): Set min/max for the fields.
523         (WebCore::DateTimeEditBuilder::visitField): Pass min/max parameters to the field constructors.
524         (WebCore::DateTimeEditBuilder::shouldHourFieldDisabled): Does not disable if minute, second, millisecond fields are all disabled, because we need at least one editable field.
525         (WebCore::DateTimeEditBuilder::shouldMillisecondFieldDisabled): Disables if min, max, and value are equal.
526         (WebCore::DateTimeEditBuilder::shouldMinuteFieldDisabled): Ditto.
527         (WebCore::DateTimeEditBuilder::shouldSecondFieldDisabled): Ditto.
528         * html/shadow/DateTimeFieldElements.cpp:
529         (WebCore::DateTimeDayFieldElement::DateTimeDayFieldElement):
530         (WebCore::DateTimeHourFieldElementBase::DateTimeHourFieldElementBase):
531         (WebCore::DateTimeHour11FieldElement::DateTimeHour11FieldElement):
532         (WebCore::DateTimeHour12FieldElement::DateTimeHour12FieldElement):
533         (WebCore::DateTimeHour23FieldElement::DateTimeHour23FieldElement):
534         (WebCore::DateTimeHour24FieldElement::DateTimeHour24FieldElement):
535         (WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement):
536         (WebCore::DateTimeMillisecondFieldElement::create):
537         (WebCore::DateTimeMinuteFieldElement::DateTimeMinuteFieldElement):
538         (WebCore::DateTimeMinuteFieldElement::create):
539         (WebCore::DateTimeMonthFieldElement::DateTimeMonthFieldElement):
540         (WebCore::DateTimeSecondFieldElement::DateTimeSecondFieldElement):
541         (WebCore::DateTimeSecondFieldElement::create):
542         (WebCore::DateTimeWeekFieldElement::DateTimeWeekFieldElement):
543         (WebCore::DateTimeYearFieldElement::DateTimeYearFieldElement):
544         * html/shadow/DateTimeFieldElements.h:
545         (DateTimeDayFieldElement):
546         (DateTimeHourFieldElementBase):
547         (DateTimeHour11FieldElement):
548         (DateTimeHour12FieldElement):
549         (DateTimeHour23FieldElement):
550         (DateTimeHour24FieldElement):
551         (DateTimeMillisecondFieldElement): Add minimum/maximum parameters.
552         (DateTimeMinuteFieldElement): Add minimum/maximum parameters.
553         (DateTimeMonthFieldElement):
554         (DateTimeSecondFieldElement): Add minimum/maximum parameters.
555         (DateTimeWeekFieldElement):
556         (DateTimeYearFieldElement):
557         * html/shadow/DateTimeNumericFieldElement.cpp:
558         (WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement):
559         (WebCore::DateTimeNumericFieldElement::formatValue): Use hard-limit value instead of m_range.maximum, because millisecond field with max<100 will be displayed in two digits otherwise.
560         (WebCore::DateTimeNumericFieldElement::setValueAsInteger):
561         * html/shadow/DateTimeNumericFieldElement.h:
562         (DateTimeNumericFieldElement): Changed to have hard limits as a data member.
563
564 2013-03-17  Alexey Proskuryakov  <ap@apple.com>
565
566         Encapsulate PlatformMessagePortChannel a little better yet
567         https://bugs.webkit.org/show_bug.cgi?id=112479
568
569         Reviewed by Sam Weinig.
570
571         * dom/MessagePortChannel.h: We no longer expose PlatformMessagePortChannel in
572         public functions in cross-platform code.
573
574         * dom/default/PlatformMessagePortChannel.cpp:
575         (WebCore::MessagePortChannel::createChannel): Tweaked the factory method to avoid
576         using the old create() function.
577         (WebCore::MessagePortChannel::~MessagePortChannel): Removed an unhelpful comment.
578
579 2013-03-17  Kent Tamura  <tkent@chromium.org>
580
581         INPUT_MULTIPLE_FIELDS_UI: Don't update shadow tree by updating any attribute
582         https://bugs.webkit.org/show_bug.cgi?id=111990
583
584         Reviewed by Hajime Morrita.
585
586         Bug detail:
587         Typing '1' then '1' into an hour field doesn't set the field to
588         '11' if an attribute is updated during these two keyboard inputs
589         because we always re-construct a shadow DOM tree by updating any
590         attributes and a shadow node records keyboard input state.
591
592         How to fix:
593         We should not re-construct a shadow DOM tree by updating
594         unaffected attributes. For example, we should re-construct it by
595         updating 'min' attribute, but we should not by updating 'class'
596         attribute.
597         We have InputType::updateInnerTextValue call in parseAttribute for
598         text field input types. The multiple fields input types
599         re-construct shadow DOM tree in updateInnerTextValue. The
600         updateInnerTextValue call is unnecessary for the multiple fields
601         input types, and we should call it when it is necessary. So, we
602         add InputType::attributeChange and text field input types call
603         updateInnerTextValue in it, and other input types don't.
604         Also, multiple fields input types need to call
605         updateInnerTextValue by 'value' attribute change. We add
606         InputType::valueAttributeChanged.
607
608         Tests: Update
609         fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html. The
610         value attribute change behavior is covered by
611         time-multiple-fields-change-layout-by-value.html and
612         time-multiple-fields-spinbutton-change-and-input-events.html.
613
614         * html/HTMLInputElement.cpp:
615         (WebCore::HTMLInputElement::parseAttribute):
616         - Add a valueAttributeChanged call.
617         - Calls InputType::attributeChanged
618         * html/InputType.cpp:
619         (WebCore::InputType::attributeChanged): Added an empty implementation.
620         (WebCore::InputType::valueAttributeChanged): Ditto.
621         * html/InputType.h:
622         (InputType): Declare attributeChanged and valueAttributeChanged.
623         * html/TextFieldInputType.cpp:
624         (WebCore::TextFieldInputType::attributeChanged):
625         Added. Always call updateInnerTextValue.
626         * html/TextFieldInputType.h:
627         (TextFieldInputType): Declare attributeChanged.
628         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
629         (WebCore::BaseMultipleFieldsDateAndTimeInputType::valueAttributeChanged):
630         Added. Re-construct shadow DOM tree if the input has no dirty value.
631         * html/BaseMultipleFieldsDateAndTimeInputType.h:
632         (BaseMultipleFieldsDateAndTimeInputType): Declare valueAttributeChanged.
633
634 2013-03-17  Rafael Weinstein  <rafaelw@chromium.org>
635
636         [HTMLTemplateElement] prevent </template> from matching "template" in a non-HTML tags on the stack of open elements
637         https://bugs.webkit.org/show_bug.cgi?id=112487
638
639         Reviewed by Adam Barth.
640
641         When processing an end template tag, the parser now pops until a "template" tag is parsed, but now ensures that
642         the "template" it pops is in the HTML namespace.
643
644         Tests added to the html5lib test suite.
645
646         * html/parser/HTMLElementStack.cpp:
647         (WebCore::HTMLElementStack::popUntil):
648         (WebCore):
649         (WebCore::HTMLElementStack::popUntilPopped):
650         * html/parser/HTMLElementStack.h:
651         (HTMLElementStack):
652         * html/parser/HTMLTreeBuilder.cpp:
653         (WebCore::HTMLTreeBuilder::processTemplateEndTag):
654
655 2013-03-17  Adam Barth  <abarth@webkit.org>
656
657         Legacy CSS vendor prefixes should only work for Dashboard
658         https://bugs.webkit.org/show_bug.cgi?id=111890
659
660         Reviewed by Eric Seidel.
661
662         Our experience with the Chromium port is that these legacy CSS vendor
663         prefixes (-apple- and -khtml-) are not needed for web compatibility.
664         There is reason to believe, however, that they are needed for
665         compatibility with Mac OS X Dashboard widgets.
666
667         This patch makes the code for these legacy CSS vendor prefixes
668         enabled at runtime and only enables them when running in Dashboard
669         compatibility mode. This is the first step towards the plan outlined in
670         https://lists.webkit.org/pipermail/webkit-dev/2013-March/024085.html.
671
672         This patch also removes support for ENABLE(LEGACY_CSS_VENDOR_PREFIXES)
673         from the V8 bindings because V8 is never used with Dashboard.
674
675         * bindings/generic/RuntimeEnabledFeatures.cpp:
676         (WebCore):
677         * bindings/generic/RuntimeEnabledFeatures.h:
678         (RuntimeEnabledFeatures):
679         (WebCore::RuntimeEnabledFeatures::setLegacyCSSVendorPrefixesEnabled):
680         (WebCore::RuntimeEnabledFeatures::legacyCSSVendorPrefixesEnabled):
681         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
682         (WebCore::getCSSPropertyNamePrefix):
683         (WebCore::cssPropertyIDForJSCSSPropertyName):
684         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
685         (WebCore::cssPropertyInfo):
686         * css/CSSParser.cpp:
687         (WebCore::CSSParser::rewriteSpecifiers):
688
689 2013-03-17  David Kilzer  <ddkilzer@apple.com>
690
691         BUILD FIX (r145592): AutodrainedPool.h moved to WTF
692         <http://webkit.org/b/112171>
693
694         Fixes the following build failure:
695
696             Source/WebCore/platform/audio/mac/AudioBusMac.mm:32:9: fatal error: 'AutodrainedPool.h' file not found
697             #import "AutodrainedPool.h"
698                     ^
699             1 error generated.
700
701         * platform/audio/mac/AudioBusMac.mm: Fix include.
702
703 2013-03-17  Gustavo Noronha Silva  <gns@gnome.org>
704
705         [GTK] Fix and improve dist hooks for translations
706         https://bugs.webkit.org/show_bug.cgi?id=112519
707
708         Reviewed by Carlos Garcia Campos.
709
710         * GNUmakefile.am: move translation-related rules and lists to the po directory's
711         GNUmakefile.am.
712
713 2013-03-17  Emil A Eklund  <eae@chromium.org>
714
715         Move font-family applying code to StyleBuilder
716         https://bugs.webkit.org/show_bug.cgi?id=112441
717
718         Reviewed by Allan Sandfeld Jensen.
719
720         Many of the font related properties were moved to StyleBuilder in r87362
721         two years ago. Move font-family as well so that all font properties are
722         handled the same way.
723
724         No new tests, no change in functionality.
725
726         * css/StyleBuilder.cpp:
727         (ApplyPropertyFontFamily):
728         (WebCore::ApplyPropertyFontFamily::applyInheritValue):
729         (WebCore::ApplyPropertyFontFamily::applyInitialValue):
730         (WebCore::ApplyPropertyFontFamily::applyValue):
731         (WebCore::ApplyPropertyFontFamily::createHandler):
732         (WebCore::StyleBuilder::StyleBuilder):
733         Add ApplyPropertyFontFamily for CSSPropertyFontFamily.
734
735         * css/StyleResolver.cpp:
736         (WebCore::StyleResolver::applyProperty):
737         Remove CSSPropertyFontFamily from the giant switch statement.
738
739 2013-03-17  Carlos Garcia Campos  <cgarcia@igalia.com>
740
741         [ENCHANT] Invalid charset encoding used for spelling guess context menu items
742         https://bugs.webkit.org/show_bug.cgi?id=112516
743
744         Reviewed by Gustavo Noronha Silva.
745
746         Convert spelling guesses returned by enchant to UTF-16 before
747         passing them to WebCore.
748
749         * platform/text/enchant/TextCheckerEnchant.cpp:
750         (WebCore::TextCheckerEnchant::getGuessesForWord): Use
751         String::fromUTF8().
752
753 2013-03-17  Jinwoo Song  <jinwoo7.song@samsung.com>
754
755         [EFL] Provide default cursor groups as cursor.edc
756         https://bugs.webkit.org/show_bug.cgi?id=112403
757
758         Reviewed by Gyuyoung Kim.
759
760         This patch provides a cursor.edc to use the CSS cursor images files in the
761         WebCore/Resources directory. cursor.edc is included in the default.edc
762         so that views can use it by default.
763
764         * platform/efl/DefaultTheme/CMakeLists.txt:
765         * platform/efl/DefaultTheme/default.edc:
766         * platform/efl/DefaultTheme/widget/cursor/cursor.edc: Added.
767
768 2013-03-16  Pratik Solanki  <psolanki@apple.com>
769
770         Disable High DPI Canvas on iOS
771         https://bugs.webkit.org/show_bug.cgi?id=112511
772
773         Reviewed by Joseph Pecoraro.
774
775         * Configurations/FeatureDefines.xcconfig:
776
777 2013-03-16  Simon Fraser  <simon.fraser@apple.com>
778
779         Reflected video elements hit assertion
780         https://bugs.webkit.org/show_bug.cgi?id=112490
781
782         Disable reflections on video again, since there's some bad behavior
783         caused by an underlying system framework.
784
785         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
786         (PlatformCALayer::clone):
787
788 2013-03-16  Tom Sepez  <tsepez@chromium.org>
789
790         [v8] Disable binding integrity check for WebCore::Text
791         https://bugs.webkit.org/show_bug.cgi?id=112462
792
793         Reviewed by Kentaro Hara.
794
795         Test: fast/dom/split-cdata.xml
796
797         * dom/Text.idl:
798
799 2013-03-16  Chris Fleizach  <cfleizach@apple.com>
800
801         AX: aria-hidden on container does not hide descendant popup buttons
802         https://bugs.webkit.org/show_bug.cgi?id=112373
803
804         Reviewed by Ryosuke Niwa.
805
806         There are a number of subclass AX objects that implement accessibilityIsIgnored()
807         to always return false. This means that even if their parent is aria-hidden=true
808         they still show up in the tree.
809
810         This re-organizes this base case of aria-hidden into AccessibilityObject so that
811         it can be re-used by these special subclasses where appropriate.
812
813         Test: accessibility/aria-hidden-hides-all-elements.html
814
815         * accessibility/AccessibilityImageMapLink.h:
816         (WebCore::AccessibilityImageMapLink::isImageMapLink):
817         * accessibility/AccessibilityList.cpp:
818         (WebCore::AccessibilityList::computeAccessibilityIsIgnored):
819         * accessibility/AccessibilityListBox.cpp:
820         (WebCore):
821         * accessibility/AccessibilityListBox.h:
822         (AccessibilityListBox):
823         * accessibility/AccessibilityListBoxOption.cpp:
824         (WebCore::AccessibilityListBoxOption::computeAccessibilityIsIgnored):
825         * accessibility/AccessibilityMediaControls.cpp:
826         (WebCore::AccessibilityMediaControl::computeAccessibilityIsIgnored):
827         (WebCore::AccessibilityMediaControlsContainer::computeAccessibilityIsIgnored):
828         (WebCore::AccessibilityMediaTimeDisplay::computeAccessibilityIsIgnored):
829         * accessibility/AccessibilityMediaControls.h:
830         (AccessibilityMediaControlsContainer):
831         * accessibility/AccessibilityMenuList.h:
832         (WebCore::AccessibilityMenuList::roleValue):
833         * accessibility/AccessibilityMenuListOption.cpp:
834         (WebCore::AccessibilityMenuListOption::computeAccessibilityIsIgnored):
835         * accessibility/AccessibilityMenuListPopup.cpp:
836         (WebCore::AccessibilityMenuListPopup::computeAccessibilityIsIgnored):
837         * accessibility/AccessibilityMockObject.cpp:
838         (WebCore::AccessibilityMockObject::computeAccessibilityIsIgnored):
839         (WebCore):
840         * accessibility/AccessibilityMockObject.h:
841         (AccessibilityMockObject):
842         * accessibility/AccessibilityObject.cpp:
843         (WebCore::AccessibilityObject::accessibilityIsIgnoredDefaultForObject):
844         (WebCore):
845         (WebCore::AccessibilityObject::ariaIsHidden):
846         (WebCore::AccessibilityObject::accessibilityIsIgnoredBase):
847         * accessibility/AccessibilityObject.h:
848         (AccessibilityObject):
849         * accessibility/AccessibilityProgressIndicator.cpp:
850         (WebCore::AccessibilityProgressIndicator::computeAccessibilityIsIgnored):
851         * accessibility/AccessibilityRenderObject.cpp:
852         (WebCore):
853         (WebCore::AccessibilityRenderObject::accessibilityIsIgnoredBase):
854         (WebCore::AccessibilityRenderObject::addImageMapChildren):
855         * accessibility/AccessibilityRenderObject.h:
856         (AccessibilityRenderObject):
857         * accessibility/AccessibilityScrollbar.h:
858         (AccessibilityScrollbar):
859         * accessibility/AccessibilitySlider.cpp:
860         (WebCore):
861         (WebCore::AccessibilitySliderThumb::computeAccessibilityIsIgnored):
862         * accessibility/AccessibilitySlider.h:
863         (AccessibilitySlider):
864         * accessibility/AccessibilitySpinButton.h:
865         (WebCore::AccessibilitySpinButton::roleValue):
866         (AccessibilitySpinButtonPart):
867
868 2013-03-15  Simon Fraser  <simon.fraser@apple.com>
869
870         Reflected video elements hit assertion on Lion
871         https://bugs.webkit.org/show_bug.cgi?id=112490
872
873         Disable the new reflected video functionality added in r145915
874         on Lion because of a nasty re-entrancy problem. Tracked by bug 112490.
875
876         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
877         (PlatformCALayer::clone):
878
879 2013-03-15  Bem Jones-Bey  <bjonesbe@adobe.com>
880
881         [CSS Exclusions] shape-outside on floats for circle and ellipse shapes
882         https://bugs.webkit.org/show_bug.cgi?id=98673
883
884         Reviewed by Dirk Schulze.
885
886         Enable circles and ellipses for shape-outside on floats. Most of the
887         code already supports them, just needed to turn them on and add tests.
888
889         Tests: fast/exclusions/shape-outside-floats/shape-outside-floats-simple-circle.html
890                fast/exclusions/shape-outside-floats/shape-outside-floats-simple-ellipse.html
891
892         * rendering/ExclusionShapeOutsideInfo.cpp:
893         (WebCore::ExclusionShapeOutsideInfo::isEnabledFor): Enable circles and
894             ellipses. Also add a check for if the RenderBox is floating, since
895             that test should have been there all along, as shape outside is
896             only supported on floats for now.
897
898 2013-03-15  Christian Biesinger  <cbiesinger@chromium.org>
899
900         Convert old flexbox uses in html.css to new flexbox (non-<select>)
901         https://bugs.webkit.org/show_bug.cgi?id=110837
902
903         Reviewed by Ojan Vafai.
904
905         Covered by existing tests.
906
907         * rendering/RenderTextControlSingleLine.cpp:
908         (WebCore::RenderTextControlSingleLine::layout):
909         After we set our descendants' heights, we need to mark them for
910         layout.
911         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
912         Use new-flexbox style setters.
913
914         * css/html.css:
915         (input::-webkit-textfield-decoration-container):
916         (input[type="search"]::-webkit-search-cancel-button):
917         (input[type="search"]::-webkit-search-decoration):
918         (input[type="search"]::-webkit-search-results-decoration):
919         (input[type="search"]::-webkit-search-results-button):
920         (input::-webkit-inner-spin-button):
921         (input::-webkit-input-speech-button):
922         (textarea):
923         (input[type="file"]):
924         (input[type="color"]::-webkit-color-swatch-wrapper):
925         (input[type="color"]::-webkit-color-swatch):
926         (::-webkit-validation-bubble-message):
927         (::-webkit-validation-bubble-text-block):
928         * css/themeWin.css:
929         (input[type="search"]::-webkit-search-results-decoration):
930         (input[type="search"]::-webkit-search-results-button):
931         Convert -webkit-box to -webkit-flex and adjust related properties.
932         Notably switch to auto margins for centering the speech button as well
933         as the search result and cancel buttons to stay compatible with the
934         previous centering behaviour. This does not produce visible
935         differences but eliminates the render tree dump changes.
936         * html/TextFieldInputType.cpp:
937         (WebCore::TextFieldInputType::createShadowSubtree):
938         * html/shadow/TextControlInnerElements.cpp:
939         (WebCore::TextControlInnerContainer::TextControlInnerContainer):
940         (WebCore):
941         (WebCore::TextControlInnerContainer::create):
942         (WebCore::TextControlInnerContainer::createRenderer):
943         * html/shadow/TextControlInnerElements.h:
944         (TextControlInnerContainer):
945         (WebCore):
946         * rendering/RenderTextControl.cpp:
947         (WebCore::RenderTextControlInnerContainer::RenderTextControlInnerContainer):
948         (WebCore):
949         (WebCore::RenderTextControlInnerContainer::~RenderTextControlInnerContainer):
950         * rendering/RenderTextControl.h:
951         (WebCore):
952         (RenderTextControlInnerContainer):
953         Create a new DOM element & renderer type for the textfield-decoration
954         div (the direct child of the <input> in the shadow dom if we have a
955         special input field). This is necessary because new-flexbox uses a
956         different algorithm for calculating the baseline, which would
957         otherwise cause an <input> and an <input type=search> to not be
958         aligned with each other.
959         The new renderer just calls back to RenderBlock for calculating the
960         baseline.
961         * rendering/RenderTextControlSingleLine.cpp:
962         (WebCore::RenderTextControlSingleLine::layout):
963         Make sure to mark renderers as needing layout when we change their
964         style. This didn't use to be necessary because old-flexbox relayouts
965         children even when they are not marked for needing layout.
966         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
967         Use new-flexbox CSS properties.
968         * html/shadow/TextFieldDecorationElement.cpp:
969         (WebCore::TextFieldDecorationElement::decorate):
970         Use new-flexbox CSS properties.
971
972 2013-03-15  Kenneth Russell  <kbr@google.com>
973
974         Unreviewed attempted build fix for Chromium Windows after r145929.
975         Verified this fix builds and works on Linux.
976         https://bugs.webkit.org/show_bug.cgi?id=96798
977
978         * bindings/v8/V8Binding.cpp:
979         (WebCore):
980
981 2013-03-15  Nate Chapin  <japhet@chromium.org>
982
983         Merge MainResourceLoader::willSendRequest into DocumentLoader 
984         https://bugs.webkit.org/show_bug.cgi?id=109757
985
986         This is one of the steps to merging MainResourceLoader entirely into
987         DocumentLoader, given the lack of clear division of responsibility
988         between the two.
989
990         Reviewed by Antti Koivisto.
991
992         No new tests, refactor only.
993
994         * loader/DocumentLoader.cpp:
995         (WebCore::DocumentLoader::mainResourceData):
996         (WebCore::DocumentLoader::isPostOrRedirectAfterPost):
997         (WebCore::DocumentLoader::willSendRequest):
998         (WebCore::DocumentLoader::callContinueAfterNavigationPolicy):
999         (WebCore::DocumentLoader::continueAfterNavigationPolicy):
1000         (WebCore::DocumentLoader::startLoadingMainResource):
1001         * loader/DocumentLoader.h:
1002         * loader/MainResourceLoader.cpp:
1003         (WebCore::MainResourceLoader::resourceData):
1004         (WebCore::MainResourceLoader::redirectReceived):
1005         (WebCore::MainResourceLoader::continueAfterContentPolicy):
1006         (WebCore::MainResourceLoader::reportMemoryUsage):
1007         (WebCore::MainResourceLoader::handleSubstituteDataLoadNow):
1008         (WebCore::MainResourceLoader::load):
1009         * loader/MainResourceLoader.h:
1010         (WebCore::MainResourceLoader::takeIdentifierFromResourceLoader): Temporarily
1011             exposed for moving from a normal load to SubstituteData load on redirect.
1012
1013 2013-03-15  Zhenyao Mo  <zmo@google.com>
1014
1015         Disable EXT_draw_buffers WebGL extension on Mac
1016         https://bugs.webkit.org/show_bug.cgi?id=112486
1017
1018         Reviewed by Kenneth Russell.
1019
1020         * html/canvas/EXTDrawBuffers.cpp:
1021         (WebCore::EXTDrawBuffers::supported):
1022
1023 2013-03-15  Dana Jansens  <danakj@chromium.org>
1024
1025         [chromium] Remove the background filter blur layout tests
1026         https://bugs.webkit.org/show_bug.cgi?id=112372
1027
1028         Reviewed by James Robinson.
1029
1030         Remove the now-unused hacks to regression test the background
1031         filter blur compositor feature.
1032
1033         * testing/Internals.cpp:
1034         * testing/Internals.h:
1035         (Internals):
1036         * testing/Internals.idl:
1037
1038 2013-03-15  Alexey Proskuryakov  <ap@apple.com>
1039
1040         Reduce amount of platform specific code in MessagePortChannel
1041         https://bugs.webkit.org/show_bug.cgi?id=112469
1042
1043         Reviewed by Sam Weinig.
1044
1045         * dom/MessagePortChannel.h: Ifdefed out an unused channel() function, except for
1046         Chromium, where it is used. We certainly don't want to expose this implementation
1047         detail as a public function.
1048
1049         * dom/default/PlatformMessagePortChannel.h: Removed functions that are no longer
1050         delegated. Made class contents all public, as it's now basically a data storage
1051         for MessagePortChannel.
1052
1053         * dom/default/PlatformMessagePortChannel.cpp:
1054         (WebCore::MessagePortChannel::createChannel):
1055         (WebCore::MessagePortChannel::~MessagePortChannel):
1056         (WebCore::MessagePortChannel::entangleIfOpen):
1057         (WebCore::MessagePortChannel::disentangle):
1058         (WebCore::MessagePortChannel::postMessageToRemote):
1059         (WebCore::MessagePortChannel::tryGetMessageFromRemote):
1060         (WebCore::MessagePortChannel::close):
1061         (WebCore::MessagePortChannel::isConnectedTo):
1062         (WebCore::MessagePortChannel::hasPendingActivity):
1063         (WebCore::MessagePortChannel::locallyEntangledPort):
1064         (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
1065         (WebCore::PlatformMessagePortChannel::entangledChannel):
1066         Moved code from PlatformMessagePortChannel to MessagePortChannel. Added some
1067         FIXMEs.
1068
1069 2013-03-15  Arvid Nilsson  <anilsson@rim.com>
1070
1071         [BlackBerry] Expose the compositing thread layer's draw rectangle to aid hit testing
1072         https://bugs.webkit.org/show_bug.cgi?id=112255
1073
1074         Reviewed by Rob Buis.
1075
1076         PR 308284.
1077         Reviewed internally by Yongxin Dai.
1078
1079         Add a getter for the layer renderer of a compositing thread layer.
1080
1081         No change in behavior, no new tests.
1082
1083         * platform/graphics/blackberry/LayerCompositingThread.h:
1084         (WebCore::LayerCompositingThread::layerRenderer):
1085
1086 2013-03-15  Christian Biesinger  <cbiesinger@chromium.org>
1087
1088         Convert <select> to new-flexbox
1089         https://bugs.webkit.org/show_bug.cgi?id=112395
1090
1091         Reviewed by Ojan Vafai.
1092
1093         Covered by existing tests.
1094
1095         * css/html.css:
1096         (select):
1097         (select[size][multiple]):
1098         (select[size="1"]):
1099         Use new-style flexbox properties.
1100         * rendering/RenderMenuList.cpp:
1101         (WebCore::RenderMenuList::RenderMenuList):
1102         (WebCore::RenderMenuList::createInnerBlock):
1103         (WebCore::RenderMenuList::adjustInnerStyle):
1104         (WebCore::RenderMenuList::removeChild):
1105         RenderDeprecatedFlexibleBox -> RenderFlexibleBox, and use the
1106         new-style flexbox properties. Use margin:auto for centering to get
1107         the old safe-centering behavior.
1108         * rendering/RenderMenuList.h:
1109         (RenderMenuList):
1110         Inherit from RenderFlexibleBox. Override baseline methods to call the
1111         RenderBlock methods
1112
1113 2013-03-15  Andy Estes  <aestes@apple.com>
1114
1115         REGRESSION (r145820): Stop over-retaining CFDataRefs in SharedBuffer::maybeTransferPlatformData()
1116         https://bugs.webkit.org/show_bug.cgi?id=112474
1117
1118         Reviewed by Simon Fraser.
1119
1120         Transfer ownership of m_cfData to the local variable rather than leaking a reference.
1121
1122         * platform/cf/SharedBufferCF.cpp:
1123         (WebCore::SharedBuffer::maybeTransferPlatformData):
1124
1125 2013-03-15  Rajeev Sarvaria  <rsarvaria@blackberry.com>
1126
1127         New context extensions restored improperly
1128         https://bugs.webkit.org/show_bug.cgi?id=112156
1129
1130         Reviewed by Rob Buis.
1131
1132         Sets up extensions after new context is created for restoration.
1133         Previous extensions set up is lost when context is initially lost.
1134
1135         Cannot create a test as change is not visible from the web. When a context
1136         is lost, WebGLRenderingContext drops m_context. Upon restoration a new context
1137         object is created without available extensions initialized. Calling isEnabled
1138         within setupFlags leads to the eventual initialization of extensions for the
1139         new context.
1140
1141         * html/canvas/WebGLRenderingContext.cpp:
1142         (WebCore):
1143         (WebCore::WebGLRenderingContext::maybeRestoreContext):
1144
1145 2013-03-15  Aurimas Liutikas  <aurimas@chromium.org>
1146
1147         TextIterator emits LF for a br element inside an empty input element
1148         https://bugs.webkit.org/show_bug.cgi?id=112275
1149
1150         Reviewed by Ryosuke Niwa.
1151
1152         Adding a check to avoid emiting LF for br elements inside a shadow tree
1153         of an input element.
1154
1155         Test: editing/text-iterator/basic-iteration.html
1156               editing/text-iterator/basic-iteration-shadowdom.html
1157
1158         * editing/TextIterator.cpp:
1159         (WebCore::shouldEmitNewlineForNode):
1160         (WebCore::TextIterator::handleNonTextNode):
1161         (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
1162         (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode):
1163         (WebCore::SimplifiedBackwardsTextIterator::exitNode):
1164         * editing/TextIterator.h:
1165         (SimplifiedBackwardsTextIterator):
1166
1167 2013-03-15  Arvid Nilsson  <anilsson@rim.com>
1168
1169         [BlackBerry] Allow an embedder to position child windows using window coordinates
1170         https://bugs.webkit.org/show_bug.cgi?id=112236
1171
1172         Reviewed by Rob Buis.
1173
1174         PR 232752
1175
1176         The LayerCompositingThread can now position the video window using
1177         either document or window coordinates.
1178
1179         The LayerRenderer class gets a new client interface. This allows us to
1180         avoid state duplication by delegating decisions directly to the client,
1181         which can then be in charge of the (one and only) state.
1182
1183         The context is moved over to the client, as well as delegation of the
1184         decision on whether to clear the surface every frame.
1185
1186         Also, the decision on which coordinate system to use for positioning
1187         child windows is delegated to the client interface.
1188
1189         No new tests, not testable using DRT.
1190
1191         * platform/graphics/blackberry/LayerCompositingThread.cpp:
1192         (WebCore::LayerCompositingThread::drawTextures):
1193         * platform/graphics/blackberry/LayerRenderer.cpp:
1194         (WebCore::LayerRenderer::create):
1195         (WebCore::LayerRenderer::LayerRenderer):
1196         (WebCore::LayerRenderer::setViewport):
1197         (WebCore::LayerRenderer::compositeLayers):
1198         (WebCore::LayerRenderer::toWebKitWindowCoordinates):
1199         (WebCore::LayerRenderer::makeContextCurrent):
1200         * platform/graphics/blackberry/LayerRenderer.h:
1201         (WebCore):
1202         (LayerRenderer):
1203         (WebCore::LayerRenderer::client):
1204         * platform/graphics/blackberry/LayerRendererClient.h: Added.
1205         (Graphics):
1206         (WebCore):
1207         (LayerRendererClient):
1208         (WebCore::LayerRendererClient::~LayerRendererClient):
1209
1210 2013-03-15  Jochen Eisinger  <jochen@chromium.org>
1211
1212         Expose whether a UserGestureToken still has gestures via WebKit API
1213         https://bugs.webkit.org/show_bug.cgi?id=112342
1214
1215         Reviewed by Adam Barth.
1216
1217         * dom/UserGestureIndicator.cpp:
1218         * dom/UserGestureIndicator.h:
1219         (UserGestureToken):
1220
1221 2013-03-15  Christian Biesinger  <cbiesinger@chromium.org>
1222
1223         Convert inspector to new-flexbox
1224         https://bugs.webkit.org/show_bug.cgi?id=112399
1225
1226         Reviewed by Ojan Vafai.
1227
1228         No new tests, refactoring.
1229
1230         * inspector/front-end/auditsPanel.css:
1231         (.audit-launcher-view .audit-launcher-view-content):
1232         (.audit-launcher-view div.button-container):
1233         (.audit-launcher-view div.button-container > button):
1234         * inspector/front-end/dialog.css:
1235         (.dialog):
1236         * inspector/front-end/elementsPanel.css:
1237         (.sidebar-pane.composite .metrics):
1238         * inspector/front-end/helpScreen.css:
1239         (.help-window-main):
1240         (.help-content):
1241         * inspector/front-end/inspector.css:
1242         (#toolbar):
1243         (#toolbar-controls):
1244         (#toolbar-dropdown .scrollable-content):
1245         (#toolbar-dropdown .toolbar-item):
1246         (.toolbar-item.close-left, .toolbar-item.close-right):
1247         * inspector/front-end/nativeMemoryProfiler.css:
1248         (.memory-pie-chart-container):
1249         (.memory-pie-chart):
1250         * inspector/front-end/networkPanel.css:
1251         (.network-item-view.visible):
1252         * inspector/front-end/panelEnablerView.css:
1253         (.panel-enabler-view .flexible-space):
1254         * inspector/front-end/profilesPanel.css:
1255         (.profile-launcher-view-content):
1256         (.control-profiling):
1257         * inspector/front-end/splitView.css:
1258         (.sidebar-overlay):
1259         * inspector/front-end/tabbedPane.css:
1260         (.tabbed-pane):
1261         (.tabbed-pane-content):
1262         Replace -webkit-box with -webkit-flex, -webkit-box-orient with
1263         -webkit-flex-direction, etc.
1264
1265 2013-03-15  Rouslan Solomakhin  <rouslan@chromium.org>
1266
1267         Remove unused unified textchecker variable
1268         https://bugs.webkit.org/show_bug.cgi?id=112362
1269
1270         Reviewed by Tony Chang.
1271
1272         The variable m_originalUnifiedSpellCheckerEnabled is never used. The generated
1273         code from Settings.in already backs up and restores unified textchecker setting.
1274
1275         * testing/InternalSettings.h: Remove unusued m_originalUnifiedSpellCheckerEnabled variable.
1276
1277 2013-03-14  Ojan Vafai  <ojan@chromium.org>
1278
1279         Auto height column flexboxes with border and padding are too short
1280         https://bugs.webkit.org/show_bug.cgi?id=112398
1281
1282         Reviewed by Tony Chang.
1283
1284         Test: css3/flexbox/auto-height-column-with-border-and-padding.html
1285
1286         * rendering/RenderFlexibleBox.cpp:
1287         (WebCore::RenderFlexibleBox::mainAxisContentExtent):
1288         computeLogicalHeight expects that you pass in the border-box logicalHeight, not
1289         the contentLogicalHeight. Since we subtract the border, padding and scrollbar height from 
1290         the returned m_extent, if we pass in the contentLogicalHeight and the flexbox is auto-sized
1291         then we end up incorrectly subtracting border, padding and scrollbar height from the
1292         contentLogicalHeight.
1293
1294 2013-03-15  Tim Horton  <timothy_horton@apple.com>
1295
1296         RenderSnapshottedPlugIn can't be a RenderBlock (what if it's display: inline?)
1297         https://bugs.webkit.org/show_bug.cgi?id=112432
1298         <rdar://problem/13187211>
1299
1300         Reviewed by Simon Fraser and Dean Jackson.
1301
1302         Re-use code from PLUGIN_PROXY_FOR_VIDEO to allow RenderEmbeddedObject to lay out its children,
1303         and make RenderSnapshottedPlugIn a RenderEmbeddedObject subclass once again. This will ensure that
1304         RenderSnapshottedPlugIn lays itself out in the page the same as the RenderEmbeddedObject it replaces did,
1305         preventing snapshotted plug-ins from breaking the layout when they are display: inline.
1306
1307         * html/HTMLPlugInElement.cpp:
1308         (WebCore::HTMLPlugInElement::defaultEventHandler):
1309         RenderSnapshottedPlugIn is a RenderEmbeddedObject subclass again, so we need to check
1310         for it when we have a RenderEmbeddedObject, instead of when we don't.
1311
1312         * page/FrameView.cpp:
1313         (WebCore::FrameView::updateWidget):
1314         Ditto.
1315
1316         * rendering/RenderEmbeddedObject.cpp:
1317         (WebCore::RenderEmbeddedObject::layout):
1318         (WebCore::RenderEmbeddedObject::canHaveChildren):
1319         Allow RenderEmbeddedObject to have and lay out children if it is a RenderSnapshottedPlugIn.
1320         Also, preserve the code that allows children if it is a media element and PLUGIN_PROXY_FOR_VIDEO is enabled.
1321         Don't call addWidgetToUpdate for instances which will never have a widget, like RenderSnapshottedPlugIn.
1322
1323         * rendering/RenderEmbeddedObject.h:
1324         (RenderEmbeddedObject):
1325         We need canHaveChildren() and children() and m_children now.
1326         Add canHaveWidget(), which returns true. Subclasses can override if need be.
1327
1328         * rendering/RenderSnapshottedPlugIn.h: Add canHaveWidget(), which is false for RenderSnapshottedPlugIn.
1329         * rendering/RenderSnapshottedPlugIn.cpp:
1330         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
1331         (WebCore::RenderSnapshottedPlugIn::layout):
1332         (WebCore::RenderSnapshottedPlugIn::getCursor):
1333         Make RenderSnapshottedPlugIn a RenderEmbeddedObject.
1334
1335         (WebCore::RenderSnapshottedPlugIn::paint):
1336         Paint our children.
1337
1338 2013-03-15  Hajime Morrita  <morrita@google.com>
1339
1340         [Custom Elements] Any HTMLElement subclass should become a superclass of custom element
1341         https://bugs.webkit.org/show_bug.cgi?id=110436
1342
1343         Reviewed by Dimitri Glazkov.
1344
1345         This change introduces "type extension" concept of custom elements.
1346         With the type extension, each custom elements are able to inherit
1347         from not only HTMLElement, but also any HTML element. To make it work,
1348         this change extends the plumbing.
1349
1350         This change does following changes:
1351
1352         = Data structure:
1353
1354         - Let CustomElementConstructor objects being keyed by pair of (element
1355           name, local name) as the standard requries, instead of just using
1356           single name. See CustomElementRegistry::ConstructorMap and CustomElementRegistry::find().
1357
1358         - Creates mapping from WrapperTypeInfo to element name.  This map
1359           can be looked-up by generated functions like
1360           findHTMLTagNameOfV8Type().  With this table, WebKit can determine
1361           the custom element local name of given prototype object. See  make_names.pl.
1362           Note that V8 prototype object knows associated WrapperTypeInfo. See r144865.
1363
1364         = Hooking up element lifecyle:
1365
1366         - Create appropriate C++ instance for each custom element.  Before
1367           this change, the C++ backend of custom elements were always
1368           HTMLUnknownElements or HTMLElement.  See
1369           CustomElementConstructor::createElement() and ElementFactories in
1370           make_names.pl.
1371
1372         - Hooks up element construction and element wrapper creation for
1373           custom element "before" non-custom case instead of "after"
1374           that. We do this because custom element needs to
1375           override non-custom case when @is attribute is given for
1376           otherwise-non-custom elements like <div is=x-bar>.
1377           See make_names.pl.
1378
1379         - Gives @is attributes to elements if needed. See setTypeExtension() call sites
1380           like Document::createElement(), Document::createElementtNS() and CustomElementConstructor::createElementt()
1381
1382         Test: fast/dom/custom/document-register-type-extensions.html
1383
1384         * bindings/scripts/CodeGeneratorV8.pm:
1385         (GenerateHeader):
1386         * bindings/scripts/test/V8/V8Float64Array.h:
1387         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1388         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1389         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1390         * bindings/scripts/test/V8/V8TestEventTarget.h:
1391         * bindings/scripts/test/V8/V8TestException.h:
1392         * bindings/scripts/test/V8/V8TestInterface.h:
1393         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1394         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1395         * bindings/scripts/test/V8/V8TestNode.h:
1396         * bindings/scripts/test/V8/V8TestObj.h:
1397         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
1398         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1399         * bindings/scripts/test/V8/V8TestTypedefs.h:
1400         * bindings/v8/CustomElementHelpers.cpp:
1401         (WebCore::hasValidPrototypeChain):
1402         (WebCore::CustomElementHelpers::isValidPrototypeParameter):
1403         (WebCore::CustomElementHelpers::findLocalName):
1404         (WebCore):
1405         (WebCore::CustomElementHelpers::findWrapperType):
1406         * bindings/v8/CustomElementHelpers.h:
1407         (CustomElementHelpers):
1408         * bindings/v8/V8CustomElement.cpp:
1409         (WebCore::V8CustomElement::createWrapper):
1410         * bindings/v8/V8CustomElement.h:
1411         (V8CustomElement):
1412         (WebCore::V8CustomElement::wrap):
1413         (WebCore::V8CustomElement::constructorOf):
1414         * bindings/v8/WrapperTypeInfo.h:
1415         (WrapperTypeTraits): Added.
1416         * bindings/v8/custom/V8CustomElementConstructorCustom.cpp:
1417         (WebCore::V8CustomElementConstructor::callAsFunctionCallback):
1418         * dom/CustomElementConstructor.cpp:
1419         (WebCore::CustomElementConstructor::create):
1420         (WebCore::CustomElementConstructor::CustomElementConstructor):
1421         (WebCore::CustomElementConstructor::createElement):
1422         (WebCore::setTypeExtension):
1423         * dom/CustomElementConstructor.h:
1424         (CustomElementConstructor):
1425         (WebCore::CustomElementConstructor::document):
1426         (WebCore::CustomElementConstructor::typeName):
1427         (WebCore::CustomElementConstructor::localName):
1428         * dom/CustomElementRegistry.cpp:
1429         (WebCore::nameIncludesHyphen):
1430         (WebCore::CustomElementRegistry::isValidName):
1431         (WebCore::CustomElementRegistry::registerElement):
1432         (WebCore::CustomElementRegistry::findFor):
1433         (WebCore::CustomElementRegistry::find):
1434         (WebCore::CustomElementRegistry::createElement):
1435         * dom/CustomElementRegistry.h:
1436         (CustomElementRegistry):
1437         * dom/Document.cpp:
1438         (WebCore::Document::createElement):
1439         (WebCore::Document::createElementNS):
1440         (WebCore::Document::registerElement):
1441         * dom/Document.h:
1442         (Document):
1443         (WebCore::Document::registry): Moved from Document.cpp to be inlined.
1444         * dom/Document.idl:
1445         * dom/make_names.pl:
1446         (printFactoryCppFile):
1447         (printWrapperFactoryCppFile):
1448         (printWrapperFactoryHeaderFile):
1449         * html/HTMLAttributeNames.in: Added @is attribute
1450
1451 2013-03-15  Alexey Proskuryakov  <ap@apple.com>
1452
1453         Minor cleanup in worker code
1454         https://bugs.webkit.org/show_bug.cgi?id=112455
1455
1456         Reviewed by Anders Carlsson.
1457
1458         - Added OVERRIDE keywords.
1459         - Toned down FIXMEs about single MessagePort versions of functions. It's not a given
1460         that we'll want to get rid of them even when implementing array versions.
1461         - Explicitly marked virtual destructors as virtual.
1462
1463         * dom/MessageEvent.cpp:
1464         * dom/MessageEvent.h:
1465         * workers/Worker.cpp:
1466         * workers/Worker.h:
1467         Removed an unused version of postMessage() that took no MessagePorts. This makes
1468         it less confusing why MessagePortArray is passed by pointer, and not by reference.
1469
1470         * workers/DedicatedWorkerContext.cpp:
1471         (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
1472         * workers/DedicatedWorkerContext.h:
1473         Added a destructor instead of an implicit one.
1474         Removed an unused version of postMessage() that took no MessagePorts.
1475
1476         * workers/SharedWorker.h: Removed an unused virtual function (thank you OVERRIDE!)
1477
1478         * dom/MessagePort.cpp:
1479         * dom/MessagePort.h:
1480         * loader/WorkerThreadableLoader.h:
1481         * page/DOMWindow.h:
1482         * workers/AbstractWorker.h:
1483         * workers/DedicatedWorkerThread.h:
1484         * workers/SharedWorkerContext.h:
1485         * workers/SharedWorkerThread.h:
1486         * workers/WorkerContext.h:
1487         * workers/WorkerMessagingProxy.h:
1488         * workers/WorkerObjectProxy.h:
1489         * workers/WorkerScriptLoader.h:
1490
1491 2013-03-15  Joshua Bell  <jsbell@chromium.org>
1492
1493         [V8] Binding: Implement EnforceRange IDL Attribute for long long conversions
1494         https://bugs.webkit.org/show_bug.cgi?id=96798
1495
1496         Reviewed by Kentaro Hara.
1497
1498         Implement [EnforceRange] attribute for V8 bindings, which specifies throwing behavior
1499         on conversions outside int/uint 32/64 ranges and edge cases like NaNs and Infinities.
1500         Conversely, conversions without this attribute should *not* throw.
1501
1502         Tests: fast/js/webidl-type-mapping.html:
1503                fast/dom/non-numeric-values-numeric-parameters.html
1504                fast/js/script-tests/select-options-add.html
1505                storage/indexeddb/intversion-bad-parameters.html
1506
1507         * Modules/indexeddb/IDBCursor.cpp: Remove custom range enforcement for advance()
1508         * Modules/indexeddb/IDBCursor.h: Adjust type to match WebIDL.
1509         * Modules/indexeddb/IDBCursor.idl: Specify [EnforceRange] and type matches spec WebIDL.
1510         * Modules/indexeddb/IDBFactory.cpp: Remove custom range enforcement for open()
1511         * Modules/indexeddb/IDBFactory.h: Adjust type to match WebIDL.
1512         * Modules/indexeddb/IDBFactory.idl: Specify [EnforceRange] and type matches spec WebIDL.
1513         * bindings/scripts/CodeGeneratorJS.pm:
1514         (JSValueToNative): Add FIXME to support [EnforceRange]
1515         * bindings/scripts/CodeGeneratorV8.pm:
1516         (GenerateNormalAttrSetter): Handle [EnforceRange] in attribute setters
1517         (GenerateParametersCheck): Handle [EnforceRange] in parameters.
1518         (JSValueToNative): Pass EnforceRange to toInt() functions as appropriate.
1519         * bindings/scripts/IDLAttributes.txt:
1520         * bindings/scripts/test/TestObj.idl: Tests w/ [EnforceRange]
1521         * bindings/scripts/test/V8/V8TestObj.cpp: Updated expectations
1522         * bindings/scripts/test/V8/V8TestTypedefs.cpp: Updated expectations.
1523         * bindings/v8/V8Binding.cpp: Overloads for toInt() variants that handle constraints.
1524         (WebCore::toInt32):
1525         (WebCore::toUInt32):
1526         (WebCore::toInt64):
1527         (WebCore::toUInt64):
1528         * bindings/v8/V8Binding.h: Ditto, plus helpers for callers not expecting errors.
1529         (WebCore::toInt32):
1530         (WebCore::toUInt32):
1531         (WebCore::toInt64):
1532         (WebCore::toUInt64):
1533         * bindings/v8/V8BindingMacros.h: Helper macros for type conversions that may throw.
1534         * testing/TypeConversions.h: Added new members with EnforceRange constraint.
1535         * testing/TypeConversions.idl: Ditto.
1536
1537 2013-03-15  Eugene Klyuchnikov  <eustas@chromium.org>
1538
1539         Web Inspector: [Network] Refine JSDocs in NetworkRequest.js
1540         https://bugs.webkit.org/show_bug.cgi?id=112412
1541
1542         Reviewed by Vsevolod Vlasov.
1543
1544         Return types for some members are confusing (Object).
1545
1546         * inspector/front-end/NetworkManager.js: Fixed JSDocs.
1547         * inspector/front-end/NetworkRequest.js: Ditto. Plus minor refactorings.
1548
1549 2013-03-15  Andy Estes  <aestes@apple.com>
1550
1551         REGRESSION (r127277): CSS URIs with multi-byte Unicode escape sequences fail to parse
1552         https://bugs.webkit.org/show_bug.cgi?id=112436
1553
1554         Reviewed by Michael Saboff.
1555
1556         r127277 modified the CSS parser to use 8-bit strings when possible.
1557         However, it failed to handle URIs that contain Unicode escape sequences
1558         that expand to multi-byte characters. Not only would the URI fail to
1559         parse, but so would the remainder of the input string.
1560
1561         Fix this by producing a 16-bit result when we detect a URI with a
1562         multi-byte Unicode escape, like we do for identifiers and other strings.
1563
1564         Test: fast/css/url-with-multi-byte-unicode-escape.html
1565
1566         * css/CSSParser.cpp:
1567         (WebCore::checkAndSkipString): Changed to be a free function since it
1568         doesn't access CSSParser's internal state.
1569         (WebCore::CSSParser::findURI): Added a function that consolidates the
1570         logic of finding the start and end pointers of the URI and the quote
1571         character (if encountered), starting at the current character.
1572         (WebCore::CSSParser::parseURIInternal): Removed duplicated logic for
1573         finding the URI bounds (this now lives in findURI()) and logic for
1574         setting the token type and updating the current character (this now
1575         lives in parseURI()).
1576         (WebCore::CSSParser::parseURI): Find the URI and parse it. If a
1577         multi-byte Unicode escape is encountered, rewind to the beginning of
1578         the URI and re-parse with a 16-bit string as the destination.
1579         * css/CSSParser.h:
1580
1581 2013-03-15  Andreas Kling  <akling@apple.com>
1582
1583         [JSC] Remove custom WebAudio mark functions that we can generate instead.
1584         <http://webkit.org/b/110976>
1585
1586         Reviewed by Eric Carlson.
1587
1588         Remove custom JSC mark functions for AudioContext and ScriptProcessorNode since they
1589         are trivial to generate.
1590
1591         * Modules/webaudio/AudioContext.idl:
1592         * Modules/webaudio/ScriptProcessorNode.idl:
1593         * GNUmakefile.list.am:
1594         * UseJSC.cmake:
1595         * WebCore.xcodeproj/project.pbxproj:
1596         * bindings/js/JSAudioContextCustom.cpp:
1597         * bindings/js/JSScriptProcessorNodeCustom.cpp: Removed.
1598
1599 2013-03-15  Jer Noble  <jer.noble@apple.com>
1600
1601         Unreviewed build fix. Rename local variable which was colliding with class method.
1602
1603         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1604         (PlatformCALayer::clone):
1605
1606 2013-03-15  Joshua Bell  <jsbell@chromium.org>
1607
1608         IndexedDB: Handle success events arriving after context stopped
1609         https://bugs.webkit.org/show_bug.cgi?id=112451
1610
1611         Reviewed by Tony Chang.
1612
1613         In multiprocess ports, events from the back-end can arrive in the form of
1614         onXXX() calls after the script execution context has stopped. These need to
1615         be ignored. This was already done in most cases, but missing for two overloads
1616         of IDBRequest::onSuccess() - void and int64_t.
1617
1618         Test: webkit_unit_test IDBRequestTest.EventsAfterStopping
1619
1620         * Modules/indexeddb/IDBRequest.cpp:
1621         (WebCore::IDBRequest::onSuccess): Early return if context has stopped.
1622         (WebCore::IDBRequest::onSuccessInternal): ASSERT() that callers have checked context.
1623
1624 2013-03-14  Jer Noble  <jer.noble@apple.com>
1625
1626         REGRESSION: -webkit-box-reflect does not show on video elements
1627         https://bugs.webkit.org/show_bug.cgi?id=112397
1628
1629         Reviewed by Simon Fraser.
1630
1631         Test: compositing/video/video-reflection.html
1632
1633         Support cloning specific CALayer subtypes in PlatformCALayer,
1634         which allows reflections to work correctly for those layer types.
1635         Specifically, add support for cloning AVPlayerLayer layers.
1636
1637         * platform/graphics/ca/GraphicsLayerCA.cpp:
1638         (WebCore::GraphicsLayerCA::cloneLayer): Moved most of the
1639             implementation to PlatformCALayer::clone().
1640         * platform/graphics/ca/PlatformCALayer.h:
1641         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1642         (PlatformCALayer::PlatformCALayer): Set the layerType to 
1643             LayerTypeAVPlayerLayer if the PlatformLayer parameter is an
1644             AVPlayerLayer.
1645         (PlatformCALayer::clone): Moved from GraphicsLayerCA::cloneLayer().
1646             Copy the player value to the new layer, if the current layer is
1647             a LayerTypeAVPlayerLayer.
1648         (PlatformCALayer::playerLayer):
1649         * platform/graphics/ca/win/PlatformCALayerWin.cpp:
1650         (PlatformCALayer::clone): Moved from GraphicsLayerCA::cloneLayer().
1651             May want to add support for AVCFPlayerLayers in the future.
1652
1653 2013-03-15  Nate Chapin  <japhet@chromium.org>
1654
1655         Hide MainResourceLoader from the outside world
1656         https://bugs.webkit.org/show_bug.cgi?id=109971
1657
1658         Reviewed by Adam Barth.
1659
1660         No new tests, refactor only.
1661
1662         * WebCore.exp.in:
1663         * dom/Document.cpp:
1664         * html/HTMLEmbedElement.cpp:
1665         * html/MediaDocument.cpp:
1666         * html/PluginDocument.cpp:
1667         * loader/DocumentLoader.cpp:
1668         (WebCore::DocumentLoader::mainResourceLoader):
1669         (WebCore::DocumentLoader::finishedLoading):
1670         (WebCore::DocumentLoader::receivedData):
1671         (WebCore::DocumentLoader::setMainResourceDataBufferingPolicy):
1672         * loader/DocumentLoader.h:
1673         * loader/EmptyClients.h:
1674         * loader/FrameLoader.cpp:
1675         * loader/FrameLoaderClient.h:
1676         * loader/MainResourceLoader.cpp:
1677         * loader/appcache/ApplicationCacheGroup.cpp:
1678         * loader/appcache/ApplicationCacheHost.cpp:
1679
1680 2013-03-15  Abhishek Arya  <inferno@chromium.org>
1681
1682         Replace static_casts with to* helper functions.
1683         https://bugs.webkit.org/show_bug.cgi?id=112401
1684
1685         Reviewed by Stephen Chenney.
1686
1687         to* helper functions are preferred over static_cast calls since they
1688         help to catch bad casts easily on the testing infrastructure.
1689
1690         * accessibility/AccessibilityObject.cpp:
1691         (WebCore::appendAccessibilityObject):
1692         * accessibility/AccessibilityRenderObject.cpp:
1693         (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
1694         * accessibility/AccessibilityScrollView.cpp:
1695         (WebCore::AccessibilityScrollView::webAreaObject):
1696         (WebCore::AccessibilityScrollView::documentFrameView):
1697         (WebCore::AccessibilityScrollView::parentObject):
1698         (WebCore::AccessibilityScrollView::parentObjectIfExists):
1699         * accessibility/chromium/AXObjectCacheChromium.cpp:
1700         (WebCore::AXObjectCache::postPlatformNotification):
1701         * bindings/js/JSPluginElementFunctions.cpp:
1702         (WebCore::pluginScriptObjectFromPluginViewBase):
1703         * bindings/js/PageScriptDebugServer.cpp:
1704         (WebCore::PageScriptDebugServer::setJavaScriptPaused):
1705         * bindings/js/ScriptController.cpp:
1706         (WebCore::ScriptController::createScriptInstanceForWidget):
1707         * bindings/js/ScriptControllerQt.cpp:
1708         (WebCore::ScriptController::createScriptInstanceForWidget):
1709         * bindings/v8/ScriptController.cpp:
1710         (WebCore::ScriptController::createScriptInstanceForWidget):
1711         * html/HTMLObjectElement.cpp:
1712         (WebCore::HTMLObjectElement::appendFormData):
1713         * page/EventHandler.cpp:
1714         (WebCore::EventHandler::subframeForTargetNode):
1715         (WebCore::EventHandler::passGestureEventToWidget):
1716         * page/Frame.cpp:
1717         (WebCore::Frame::frameForWidget):
1718         * page/FrameView.cpp:
1719         (WebCore::collectFrameViewChildren):
1720         (WebCore::FrameView::hasCustomScrollbars):
1721         (WebCore::FrameView::convertToContainingView):
1722         (WebCore::FrameView::convertFromContainingView):
1723         (WebCore::FrameView::removeChild):
1724         * page/FrameView.h:
1725         (WebCore::toFrameView):
1726         (WebCore):
1727         * page/Page.cpp:
1728         (WebCore::Page::collectPluginViews):
1729         * page/chromium/EventHandlerChromium.cpp:
1730         (WebCore::EventHandler::passWheelEventToWidget):
1731         * page/efl/EventHandlerEfl.cpp:
1732         (WebCore::EventHandler::passWheelEventToWidget):
1733         * page/gtk/EventHandlerGtk.cpp:
1734         (WebCore::EventHandler::passWheelEventToWidget):
1735         * page/mac/EventHandlerMac.mm:
1736         (WebCore::EventHandler::passWheelEventToWidget):
1737         * page/qt/EventHandlerQt.cpp:
1738         (WebCore::EventHandler::passWheelEventToWidget):
1739         * page/scrolling/ScrollingCoordinator.cpp:
1740         (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
1741         * page/win/EventHandlerWin.cpp:
1742         (WebCore::EventHandler::passWheelEventToWidget):
1743         * page/wx/EventHandlerWx.cpp:
1744         (WebCore::EventHandler::passWheelEventToWidget):
1745         * platform/ScrollView.h:
1746         (WebCore::toScrollView):
1747         (WebCore):
1748         * platform/Scrollbar.cpp:
1749         (WebCore::Scrollbar::isScrollViewScrollbar):
1750         (WebCore::Scrollbar::mouseUp):
1751         (WebCore::Scrollbar::axObjectCache):
1752         * platform/Widget.h:
1753         (WebCore::Widget::isScrollView):
1754         * platform/blackberry/PlatformScreenBlackBerry.cpp:
1755         (WebCore::toUserSpace):
1756         * platform/efl/ScrollbarEfl.cpp:
1757         (ScrollbarEfl::setParent):
1758         * platform/qt/PlatformSupportQt.cpp:
1759         (WebCore::PlatformSupport::popupsAllowed):
1760         (WebCore::PlatformSupport::pluginScriptableObject):
1761         * plugins/IFrameShimSupport.cpp:
1762         (WebCore::getPluginOcclusions):
1763         * plugins/PluginView.h:
1764         (WebCore::toPluginView):
1765         (WebCore):
1766         * plugins/PluginViewBase.h:
1767         (WebCore::PluginViewBase::isPluginViewBase):
1768         (PluginViewBase):
1769         (WebCore::toPluginViewBase):
1770         (WebCore):
1771         * plugins/blackberry/PluginViewBlackBerry.cpp:
1772         (WebCore::PluginView::updatePluginWidget):
1773         (WebCore::PluginView::updateBuffer):
1774         (WebCore::PluginView::paint):
1775         (WebCore::PluginView::handleScrollEvent):
1776         (WebCore::PluginView::calculateClipRect):
1777         (WebCore::PluginView::handleFullScreenAllowedEvent):
1778         (WebCore::PluginView::handleFullScreenExitEvent):
1779         (WebCore::PluginView::setParent):
1780         (WebCore::PluginView::setNPWindowIfNeeded):
1781         (WebCore::PluginView::platformGetValue):
1782         (WebCore::PluginView::platformStart):
1783         (WebCore::PluginView::platformDestroy):
1784         (WebCore::PluginView::setBackgroundPlay):
1785         * plugins/blackberry/PluginViewPrivateBlackBerry.cpp:
1786         (WebCore::PluginViewPrivate::setVisibleRects):
1787         (WebCore::PluginViewPrivate::showKeyboard):
1788         (WebCore::PluginViewPrivate::requestFullScreen):
1789         (WebCore::PluginViewPrivate::requestCenterFitZoom):
1790         (WebCore::PluginViewPrivate::lockOrientation):
1791         (WebCore::PluginViewPrivate::unlockOrientation):
1792         (WebCore::PluginViewPrivate::preventIdle):
1793         * plugins/gtk/PluginViewGtk.cpp:
1794         (WebCore::PluginView::updatePluginWidget):
1795         * plugins/mac/PluginViewMac.mm:
1796         (WebCore::PluginView::platformStart):
1797         * plugins/qt/PluginViewQt.cpp:
1798         (WebCore::PluginView::updatePluginWidget):
1799         * plugins/win/PluginViewWin.cpp:
1800         (WebCore::PluginView::updatePluginWidget):
1801         (WebCore::PluginView::paintIntoTransformedContext):
1802         (WebCore::PluginView::paintWindowedPluginIntoContext):
1803         (WebCore::PluginView::paint):
1804         (WebCore::PluginView::handleMouseEvent):
1805         (WebCore::PluginView::setNPWindowRect):
1806         (WebCore::PluginView::snapshot):
1807         * rendering/RenderBox.cpp:
1808         (WebCore::RenderBox::addLayoutOverflow):
1809         * rendering/RenderBoxModelObject.cpp:
1810         (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
1811         * rendering/RenderEmbeddedObject.cpp:
1812         (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing):
1813         (WebCore::RenderEmbeddedObject::viewCleared):
1814         (WebCore::RenderEmbeddedObject::nodeAtPoint):
1815         (WebCore::RenderEmbeddedObject::scroll):
1816         * rendering/RenderFlexibleBox.h:
1817         (WebCore::toRenderFlexibleBox):
1818         (WebCore):
1819         * rendering/RenderFrame.cpp:
1820         (WebCore::RenderFrame::viewCleared):
1821         * rendering/RenderFrameBase.cpp:
1822         (WebCore::RenderFrameBase::layoutWithFlattening):
1823         * rendering/RenderIFrame.cpp:
1824         (WebCore::RenderIFrame::contentRootRenderer):
1825         (WebCore::RenderIFrame::layoutSeamlessly):
1826         * rendering/RenderLayerBacking.cpp:
1827         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
1828         * rendering/RenderLayerCompositor.cpp:
1829         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
1830         * rendering/RenderPart.cpp:
1831         (WebCore::RenderPart::requiresAcceleratedCompositing):
1832         (WebCore::RenderPart::embeddedContentBox):
1833         (WebCore::RenderPart::nodeAtPoint):
1834         * rendering/RenderRuby.cpp:
1835         (WebCore::rubyBeforeBlock):
1836         (WebCore::rubyAfterBlock):
1837         (WebCore::lastRubyRun):
1838         (WebCore::findRubyRunParent):
1839         * rendering/RenderTreeAsText.cpp:
1840         (WebCore::write):
1841         * rendering/RenderWidget.cpp:
1842         (WebCore::RenderWidget::paintContents):
1843         (WebCore::RenderWidget::setOverlapTestResult):
1844         (WebCore::RenderWidget::updateWidgetPosition):
1845
1846 2013-03-15  No'am Rosenthal  <noam@webkit.org>
1847
1848         [Texmap] REGRESSION (r144190): Failure at style with preserve-3d and opacity
1849         https://bugs.webkit.org/show_bug.cgi?id=112370
1850
1851         According to spec, we avoid masking and clipping when preserves-3d is enabled.
1852         However, opacity should still work.
1853         Allowing opacity when preserves-3d is on.
1854
1855         Reviewed by Caio Marcelo de Oliveira Filho.
1856
1857         Test: compositing/overlap-blending/preserves3d-opacity.html
1858
1859         * platform/graphics/texmap/TextureMapperGL.cpp:
1860         * platform/graphics/texmap/TextureMapperLayer.cpp:
1861         (WebCore::TextureMapperLayer::paintRecursive):
1862
1863 2013-03-15  Konrad Piascik  <kpiascik@blackberry.com>
1864
1865         Get rid of useless forward declaration.
1866         https://bugs.webkit.org/show_bug.cgi?id=112449
1867
1868         Reviewed by Stephen Chenney.
1869
1870         No behavioural change 
1871
1872         * svg/SVGRectElement.cpp:
1873
1874 2013-03-15  Alexei Filippov  <alph@chromium.org>
1875
1876         Web Inspector: make CPU profiler show timings using the same time unit [ms]
1877         https://bugs.webkit.org/show_bug.cgi?id=112356
1878
1879         That makes it much easier to compare values when looking at the data.
1880
1881         Reviewed by Yury Semikhatsky.
1882
1883         * inspector/front-end/ProfileDataGridTree.js:
1884         (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
1885
1886 2013-03-15  Peter Beverloo  <peter@chromium.org>
1887
1888         Implement support for nullable types in the bindings generator
1889         https://bugs.webkit.org/show_bug.cgi?id=111728
1890
1891         Reviewed by Kentaro Hara.
1892
1893         This patch adds support for nullable types in the bindings
1894         generator, as described in section 3.10.22 of WebIDL:
1895             http://dev.w3.org/2006/webapi/WebIDL/#idl-nullable-type
1896
1897         interface MyInterface {
1898             readonly attribute boolean? value; // true, false or null.
1899         };
1900
1901         The IDL Parser has been modified to record whether attributes are
1902         nullable. Question marks from the type will always be stripped
1903         from the domAttribute->signature->type field. Once support for
1904         this has been completely implemented, we'll be able to remove a
1905         bunch of custom bindings, i.e. those of Device Orientation.
1906
1907         Any getter for an attribute which returns a nullable type will be
1908         called with an additional attribute (passed by reference) named
1909         "isNull". This will be the last argument passed to the method,
1910         unless an exception code (ec) argument will be passed as well.
1911
1912         The CPP, GObject and ObjC bindings will not change behavior following
1913         this patch, although they have been modified to call the WebCore
1914         methods for nullable attributes with the correct signature. The
1915         V8 and JS binding generators do have modified behavior, in that they
1916         will actually return v8Null/jsNull when isNull == true.
1917
1918         Tested by existing binding tests and the new nullable attribute
1919         tests in the bindings/scripts/test/ directory.
1920
1921         * bindings/scripts/CodeGeneratorCPP.pm:
1922         (GenerateImplementation):
1923         * bindings/scripts/CodeGeneratorGObject.pm:
1924         (GenerateProperty):
1925         (GenerateFunction):
1926         * bindings/scripts/CodeGeneratorJS.pm:
1927         (GenerateImplementation):
1928         * bindings/scripts/CodeGeneratorObjC.pm:
1929         (GenerateImplementation):
1930         * bindings/scripts/CodeGeneratorV8.pm:
1931         (GenerateNormalAttrGetter):
1932         * bindings/scripts/IDLParser.pm:
1933         (typeHasNullableSuffix):
1934         (typeRemoveNullableSuffix):
1935         (parseAttributeRest):
1936         (parseOptionalOrRequiredArgument):
1937         (parseAttributeRestOld):
1938         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1939         (WebDOMTestObj::nullableDoubleAttribute):
1940         (WebDOMTestObj::nullableLongAttribute):
1941         (WebDOMTestObj::nullableBooleanAttribute):
1942         (WebDOMTestObj::nullableStringAttribute):
1943         (WebDOMTestObj::nullableLongSettableAttribute):
1944         (WebDOMTestObj::setNullableLongSettableAttribute):
1945         (WebDOMTestObj::nullableStringValue):
1946         (WebDOMTestObj::setNullableStringValue):
1947         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1948         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1949         (webkit_dom_test_obj_set_property):
1950         (webkit_dom_test_obj_get_property):
1951         (webkit_dom_test_obj_class_init):
1952         (webkit_dom_test_obj_get_nullable_double_attribute):
1953         (webkit_dom_test_obj_get_nullable_long_attribute):
1954         (webkit_dom_test_obj_get_nullable_boolean_attribute):
1955         (webkit_dom_test_obj_get_nullable_string_attribute):
1956         (webkit_dom_test_obj_get_nullable_long_settable_attribute):
1957         (webkit_dom_test_obj_set_nullable_long_settable_attribute):
1958         (webkit_dom_test_obj_get_nullable_string_value):
1959         (webkit_dom_test_obj_set_nullable_string_value):
1960         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
1961         * bindings/scripts/test/JS/JSTestObj.cpp:
1962         (WebCore):
1963         (WebCore::jsTestObjNullableDoubleAttribute):
1964         (WebCore::jsTestObjNullableLongAttribute):
1965         (WebCore::jsTestObjNullableBooleanAttribute):
1966         (WebCore::jsTestObjNullableStringAttribute):
1967         (WebCore::jsTestObjNullableLongSettableAttribute):
1968         (WebCore::jsTestObjNullableStringValue):
1969         (WebCore::setJSTestObjNullableLongSettableAttribute):
1970         (WebCore::setJSTestObjNullableStringValue):
1971         * bindings/scripts/test/JS/JSTestObj.h:
1972         (WebCore):
1973         * bindings/scripts/test/ObjC/DOMTestObj.h:
1974         * bindings/scripts/test/ObjC/DOMTestObj.mm:
1975         (-[DOMTestObj nullableDoubleAttribute]):
1976         (-[DOMTestObj nullableLongAttribute]):
1977         (-[DOMTestObj nullableBooleanAttribute]):
1978         (-[DOMTestObj nullableStringAttribute]):
1979         (-[DOMTestObj nullableLongSettableAttribute]):
1980         (-[DOMTestObj setNullableLongSettableAttribute:]):
1981         (-[DOMTestObj nullableStringValue]):
1982         (-[DOMTestObj setNullableStringValue:]):
1983         * bindings/scripts/test/TestObj.idl:
1984         * bindings/scripts/test/V8/V8TestObj.cpp:
1985         (WebCore::TestObjV8Internal::nullableDoubleAttributeAttrGetter):
1986         (TestObjV8Internal):
1987         (WebCore::TestObjV8Internal::nullableDoubleAttributeAttrGetterCallback):
1988         (WebCore::TestObjV8Internal::nullableLongAttributeAttrGetter):
1989         (WebCore::TestObjV8Internal::nullableLongAttributeAttrGetterCallback):
1990         (WebCore::TestObjV8Internal::nullableBooleanAttributeAttrGetter):
1991         (WebCore::TestObjV8Internal::nullableBooleanAttributeAttrGetterCallback):
1992         (WebCore::TestObjV8Internal::nullableStringAttributeAttrGetter):
1993         (WebCore::TestObjV8Internal::nullableStringAttributeAttrGetterCallback):
1994         (WebCore::TestObjV8Internal::nullableLongSettableAttributeAttrGetter):
1995         (WebCore::TestObjV8Internal::nullableLongSettableAttributeAttrGetterCallback):
1996         (WebCore::TestObjV8Internal::nullableLongSettableAttributeAttrSetter):
1997         (WebCore::TestObjV8Internal::nullableLongSettableAttributeAttrSetterCallback):
1998         (WebCore::TestObjV8Internal::nullableStringValueAttrGetter):
1999         (WebCore::TestObjV8Internal::nullableStringValueAttrGetterCallback):
2000         (WebCore::TestObjV8Internal::nullableStringValueAttrSetter):
2001         (WebCore::TestObjV8Internal::nullableStringValueAttrSetterCallback):
2002         (WebCore):
2003
2004 2013-03-15  Marja Hölttä  <marja@chromium.org>
2005
2006         [V8] Store main world and non-main world templates separately.
2007         https://bugs.webkit.org/show_bug.cgi?id=111724
2008
2009         Reviewed by Jochen Eisinger.
2010
2011         This is needed for generating specialized bindings for the main
2012         world (bug 110874).
2013
2014         No new tests (updated existing bindings tests).
2015
2016         * bindings/scripts/CodeGeneratorV8.pm:
2017         (GenerateHeader):
2018         (GenerateDomainSafeFunctionGetter):
2019         (GenerateNormalAttrSetter):
2020         (GenerateParametersCheckExpression):
2021         (GenerateParametersCheck):
2022         (GenerateImplementation):
2023         (JSValueToNative):
2024         (CreateCustomSignature):
2025         * bindings/scripts/test/V8/V8Float64Array.cpp:
2026         (WebCore::Float64ArrayV8Internal::fooMethod):
2027         (WebCore::ConfigureV8Float64ArrayTemplate):
2028         (WebCore::V8Float64Array::GetTemplate):
2029         (WebCore::V8Float64Array::HasInstance):
2030         (WebCore):
2031         (WebCore::V8Float64Array::HasInstanceInAnyWorld):
2032         * bindings/scripts/test/V8/V8Float64Array.h:
2033         (V8Float64Array):
2034         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2035         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionMethod):
2036         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
2037         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
2038         (WebCore::V8TestActiveDOMObject::GetTemplate):
2039         (WebCore::V8TestActiveDOMObject::HasInstance):
2040         (WebCore):
2041         (WebCore::V8TestActiveDOMObject::HasInstanceInAnyWorld):
2042         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2043         (V8TestActiveDOMObject):
2044         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2045         (WebCore::V8TestCustomNamedGetter::GetTemplate):
2046         (WebCore::V8TestCustomNamedGetter::HasInstance):
2047         (WebCore):
2048         (WebCore::V8TestCustomNamedGetter::HasInstanceInAnyWorld):
2049         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2050         (V8TestCustomNamedGetter):
2051         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2052         (WebCore::V8TestEventConstructor::GetTemplate):
2053         (WebCore::V8TestEventConstructor::HasInstance):
2054         (WebCore):
2055         (WebCore::V8TestEventConstructor::HasInstanceInAnyWorld):
2056         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2057         (V8TestEventConstructor):
2058         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2059         (WebCore::TestEventTargetV8Internal::dispatchEventMethod):
2060         (WebCore::ConfigureV8TestEventTargetTemplate):
2061         (WebCore::V8TestEventTarget::GetTemplate):
2062         (WebCore::V8TestEventTarget::HasInstance):
2063         (WebCore):
2064         (WebCore::V8TestEventTarget::HasInstanceInAnyWorld):
2065         * bindings/scripts/test/V8/V8TestEventTarget.h:
2066         (V8TestEventTarget):
2067         * bindings/scripts/test/V8/V8TestException.cpp:
2068         (WebCore::V8TestException::GetTemplate):
2069         (WebCore::V8TestException::HasInstance):
2070         (WebCore):
2071         (WebCore::V8TestException::HasInstanceInAnyWorld):
2072         * bindings/scripts/test/V8/V8TestException.h:
2073         (V8TestException):
2074         * bindings/scripts/test/V8/V8TestInterface.cpp:
2075         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetter):
2076         (WebCore::TestInterfaceV8Internal::supplementalMethod2Method):
2077         (WebCore::ConfigureV8TestInterfaceTemplate):
2078         (WebCore::V8TestInterface::GetTemplate):
2079         (WebCore::V8TestInterface::HasInstance):
2080         (WebCore):
2081         (WebCore::V8TestInterface::HasInstanceInAnyWorld):
2082         * bindings/scripts/test/V8/V8TestInterface.h:
2083         (V8TestInterface):
2084         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2085         (WebCore::V8TestMediaQueryListListener::GetTemplate):
2086         (WebCore::V8TestMediaQueryListListener::HasInstance):
2087         (WebCore):
2088         (WebCore::V8TestMediaQueryListListener::HasInstanceInAnyWorld):
2089         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2090         (V8TestMediaQueryListListener):
2091         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2092         (WebCore::V8TestNamedConstructor::GetTemplate):
2093         (WebCore::V8TestNamedConstructor::HasInstance):
2094         (WebCore):
2095         (WebCore::V8TestNamedConstructor::HasInstanceInAnyWorld):
2096         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2097         (V8TestNamedConstructor):
2098         * bindings/scripts/test/V8/V8TestNode.cpp:
2099         (WebCore::V8TestNode::GetTemplate):
2100         (WebCore::V8TestNode::HasInstance):
2101         (WebCore):
2102         (WebCore::V8TestNode::HasInstanceInAnyWorld):
2103         * bindings/scripts/test/V8/V8TestNode.h:
2104         (V8TestNode):
2105         * bindings/scripts/test/V8/V8TestObj.cpp:
2106         (WebCore::TestObjV8Internal::testObjAttrAttrSetter):
2107         (WebCore::TestObjV8Internal::XMLObjAttrAttrSetter):
2108         (WebCore::TestObjV8Internal::typedArrayAttrAttrSetter):
2109         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetter):
2110         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
2111         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
2112         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
2113         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
2114         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
2115         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
2116         (WebCore::TestObjV8Internal::mutablePointAttrSetter):
2117         (WebCore::TestObjV8Internal::immutablePointAttrSetter):
2118         (WebCore::TestObjV8Internal::voidMethodWithArgsMethod):
2119         (WebCore::TestObjV8Internal::longMethodWithArgsMethod):
2120         (WebCore::TestObjV8Internal::objMethodWithArgsMethod):
2121         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsMethod):
2122         (WebCore::TestObjV8Internal::overloadedMethod1Method):
2123         (WebCore::TestObjV8Internal::overloadedMethod2Method):
2124         (WebCore::TestObjV8Internal::overloadedMethod8Method):
2125         (WebCore::TestObjV8Internal::overloadedMethodMethod):
2126         (WebCore::TestObjV8Internal::convert1Method):
2127         (WebCore::TestObjV8Internal::convert2Method):
2128         (WebCore::TestObjV8Internal::convert4Method):
2129         (WebCore::TestObjV8Internal::convert5Method):
2130         (WebCore::TestObjV8Internal::variadicNodeMethodMethod):
2131         (WebCore::ConfigureV8TestObjTemplate):
2132         (WebCore::V8TestObj::GetTemplate):
2133         (WebCore::V8TestObj::HasInstance):
2134         (WebCore):
2135         (WebCore::V8TestObj::HasInstanceInAnyWorld):
2136         * bindings/scripts/test/V8/V8TestObj.h:
2137         (V8TestObj):
2138         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2139         (WebCore::TestOverloadedConstructorsV8Internal::constructor1):
2140         (WebCore::TestOverloadedConstructorsV8Internal::constructor2):
2141         (WebCore::TestOverloadedConstructorsV8Internal::constructor3):
2142         (WebCore::TestOverloadedConstructorsV8Internal::constructor):
2143         (WebCore::V8TestOverloadedConstructors::GetTemplate):
2144         (WebCore::V8TestOverloadedConstructors::HasInstance):
2145         (WebCore):
2146         (WebCore::V8TestOverloadedConstructors::HasInstanceInAnyWorld):
2147         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
2148         (V8TestOverloadedConstructors):
2149         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2150         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
2151         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
2152         (WebCore):
2153         (WebCore::V8TestSerializedScriptValueInterface::HasInstanceInAnyWorld):
2154         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2155         (V8TestSerializedScriptValueInterface):
2156         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
2157         (WebCore::TestTypedefsV8Internal::funcMethod):
2158         (WebCore::ConfigureV8TestTypedefsTemplate):
2159         (WebCore::V8TestTypedefs::GetTemplate):
2160         (WebCore::V8TestTypedefs::HasInstance):
2161         (WebCore):
2162         (WebCore::V8TestTypedefs::HasInstanceInAnyWorld):
2163         * bindings/scripts/test/V8/V8TestTypedefs.h:
2164         (V8TestTypedefs):
2165         * bindings/v8/Dictionary.cpp:
2166         (WebCore::Dictionary::get):
2167         * bindings/v8/ScriptProfiler.cpp:
2168         (WebCore::ScriptProfiler::visitNodeWrappers):
2169         * bindings/v8/SerializedScriptValue.cpp:
2170         * bindings/v8/V8AdaptorFunction.cpp:
2171         (WebCore::V8AdaptorFunction::getTemplate):
2172         * bindings/v8/V8Binding.cpp:
2173         (WebCore::toDOMStringList):
2174         (WebCore::toXPathNSResolver):
2175         * bindings/v8/V8Binding.h:
2176         (WebCore):
2177         (WebCore::toRefPtrNativeArray):
2178         * bindings/v8/V8Collection.cpp:
2179         (WebCore::toOptionsCollectionSetter):
2180         * bindings/v8/V8GCController.cpp:
2181         * bindings/v8/V8NPObject.cpp:
2182         (WebCore::npObjectInvokeImpl):
2183         * bindings/v8/V8PerIsolateData.cpp:
2184         (WebCore::V8PerIsolateData::reportMemoryUsage):
2185         (WebCore::V8PerIsolateData::hasPrivateTemplate):
2186         (WebCore::V8PerIsolateData::privateTemplate):
2187         (WebCore::V8PerIsolateData::rawTemplate):
2188         (WebCore::V8PerIsolateData::hasInstance):
2189         * bindings/v8/V8PerIsolateData.h:
2190         (WebCore::V8PerIsolateData::rawTemplateMap):
2191         (V8PerIsolateData):
2192         (WebCore::V8PerIsolateData::templateMap):
2193         * bindings/v8/V8Utilities.cpp:
2194         (WebCore::extractTransferables):
2195         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2196         (WebCore::constructWebGLArray):
2197         (WebCore::setWebGLArrayHelper):
2198         * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
2199         (WebCore::V8AudioBufferSourceNode::bufferAttrSetterCustom):
2200         * bindings/v8/custom/V8BlobCustom.cpp:
2201         (WebCore::V8Blob::constructorCustom):
2202         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2203         (WebCore::toCanvasStyle):
2204         * bindings/v8/custom/V8ClipboardCustom.cpp:
2205         (WebCore::V8Clipboard::setDragImageMethodCustom):
2206         * bindings/v8/custom/V8CryptoCustom.cpp:
2207         (WebCore::V8Crypto::getRandomValuesMethodCustom):
2208         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
2209         (WebCore::V8DOMFormData::constructorCustom):
2210         (WebCore::V8DOMFormData::appendMethodCustom):
2211         * bindings/v8/custom/V8DataViewCustom.cpp:
2212         (WebCore::V8DataView::constructorCustom):
2213         * bindings/v8/custom/V8DocumentCustom.cpp:
2214         (WebCore::V8Document::evaluateMethodCustom):
2215         * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
2216         (WebCore::V8HTMLMediaElement::controllerAttrSetterCustom):
2217         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2218         (WebCore::V8HTMLOptionsCollection::addMethodCustom):
2219         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
2220         (WebCore::removeElement):
2221         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2222         (WebCore::V8InjectedScriptHost::isHTMLAllCollectionMethodCustom):
2223         (WebCore::V8InjectedScriptHost::typeMethodCustom):
2224         (WebCore::V8InjectedScriptHost::getEventListenersMethodCustom):
2225         * bindings/v8/custom/V8LocationCustom.cpp:
2226         (WebCore::V8Location::reloadAttrGetterCustom):
2227         (WebCore::V8Location::replaceAttrGetterCustom):
2228         (WebCore::V8Location::assignAttrGetterCustom):
2229         * bindings/v8/custom/V8NodeCustom.cpp:
2230         (WebCore::V8Node::insertBeforeMethodCustom):
2231         (WebCore::V8Node::replaceChildMethodCustom):
2232         (WebCore::V8Node::removeChildMethodCustom):
2233         (WebCore::V8Node::appendChildMethodCustom):
2234         * bindings/v8/custom/V8NodeListCustom.cpp:
2235         (WebCore::V8NodeList::opaqueRootForGC):
2236         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2237         (WebCore::toWebGLUniformLocation):
2238         (WebCore::V8WebGLRenderingContext::getAttachedShadersMethodCustom):
2239         (WebCore::V8WebGLRenderingContext::getProgramParameterMethodCustom):
2240         (WebCore::V8WebGLRenderingContext::getShaderParameterMethodCustom):
2241         (WebCore::V8WebGLRenderingContext::getUniformMethodCustom):
2242         (WebCore::vertexAttribAndUniformHelperf):
2243         (WebCore::uniformHelperi):
2244         (WebCore::uniformMatrixHelper):
2245         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2246         (WebCore::isDocumentType):
2247         (WebCore::V8XMLHttpRequest::sendMethodCustom):
2248
2249 2013-03-15  Sheriff Bot  <webkit.review.bot@gmail.com>
2250
2251         Unreviewed, rolling out r145802.
2252         http://trac.webkit.org/changeset/145802
2253         https://bugs.webkit.org/show_bug.cgi?id=112444
2254
2255         This broke Chrome. (Requested by marja____ on #webkit).
2256
2257         * bindings/scripts/CodeGeneratorV8.pm:
2258         (GenerateHeader):
2259         (GenerateDomainSafeFunctionGetter):
2260         (GenerateNormalAttrSetter):
2261         (GenerateParametersCheckExpression):
2262         (GenerateParametersCheck):
2263         (GenerateImplementation):
2264         (JSValueToNative):
2265         (CreateCustomSignature):
2266         * bindings/scripts/test/V8/V8Float64Array.cpp:
2267         (WebCore::Float64ArrayV8Internal::fooMethod):
2268         (WebCore::ConfigureV8Float64ArrayTemplate):
2269         (WebCore::V8Float64Array::GetTemplate):
2270         (WebCore::V8Float64Array::HasInstance):
2271         * bindings/scripts/test/V8/V8Float64Array.h:
2272         (V8Float64Array):
2273         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2274         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionMethod):
2275         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
2276         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
2277         (WebCore::V8TestActiveDOMObject::GetTemplate):
2278         (WebCore::V8TestActiveDOMObject::HasInstance):
2279         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2280         (V8TestActiveDOMObject):
2281         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2282         (WebCore::V8TestCustomNamedGetter::GetTemplate):
2283         (WebCore::V8TestCustomNamedGetter::HasInstance):
2284         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2285         (V8TestCustomNamedGetter):
2286         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2287         (WebCore::V8TestEventConstructor::GetTemplate):
2288         (WebCore::V8TestEventConstructor::HasInstance):
2289         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2290         (V8TestEventConstructor):
2291         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2292         (WebCore::TestEventTargetV8Internal::dispatchEventMethod):
2293         (WebCore::ConfigureV8TestEventTargetTemplate):
2294         (WebCore::V8TestEventTarget::GetTemplate):
2295         (WebCore::V8TestEventTarget::HasInstance):
2296         * bindings/scripts/test/V8/V8TestEventTarget.h:
2297         (V8TestEventTarget):
2298         * bindings/scripts/test/V8/V8TestException.cpp:
2299         (WebCore::V8TestException::GetTemplate):
2300         (WebCore::V8TestException::HasInstance):
2301         * bindings/scripts/test/V8/V8TestException.h:
2302         (V8TestException):
2303         * bindings/scripts/test/V8/V8TestInterface.cpp:
2304         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetter):
2305         (WebCore::TestInterfaceV8Internal::supplementalMethod2Method):
2306         (WebCore::ConfigureV8TestInterfaceTemplate):
2307         (WebCore::V8TestInterface::GetTemplate):
2308         (WebCore::V8TestInterface::HasInstance):
2309         * bindings/scripts/test/V8/V8TestInterface.h:
2310         (V8TestInterface):
2311         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2312         (WebCore::V8TestMediaQueryListListener::GetTemplate):
2313         (WebCore::V8TestMediaQueryListListener::HasInstance):
2314         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2315         (V8TestMediaQueryListListener):
2316         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2317         (WebCore::V8TestNamedConstructor::GetTemplate):
2318         (WebCore::V8TestNamedConstructor::HasInstance):
2319         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2320         (V8TestNamedConstructor):
2321         * bindings/scripts/test/V8/V8TestNode.cpp:
2322         (WebCore::V8TestNode::GetTemplate):
2323         (WebCore::V8TestNode::HasInstance):
2324         * bindings/scripts/test/V8/V8TestNode.h:
2325         (V8TestNode):
2326         * bindings/scripts/test/V8/V8TestObj.cpp:
2327         (WebCore::TestObjV8Internal::testObjAttrAttrSetter):
2328         (WebCore::TestObjV8Internal::XMLObjAttrAttrSetter):
2329         (WebCore::TestObjV8Internal::typedArrayAttrAttrSetter):
2330         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetter):
2331         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
2332         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
2333         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
2334         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
2335         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
2336         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
2337         (WebCore::TestObjV8Internal::mutablePointAttrSetter):
2338         (WebCore::TestObjV8Internal::immutablePointAttrSetter):
2339         (WebCore::TestObjV8Internal::voidMethodWithArgsMethod):
2340         (WebCore::TestObjV8Internal::longMethodWithArgsMethod):
2341         (WebCore::TestObjV8Internal::objMethodWithArgsMethod):
2342         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsMethod):
2343         (WebCore::TestObjV8Internal::overloadedMethod1Method):
2344         (WebCore::TestObjV8Internal::overloadedMethod2Method):
2345         (WebCore::TestObjV8Internal::overloadedMethod8Method):
2346         (WebCore::TestObjV8Internal::overloadedMethodMethod):
2347         (WebCore::TestObjV8Internal::convert1Method):
2348         (WebCore::TestObjV8Internal::convert2Method):
2349         (WebCore::TestObjV8Internal::convert4Method):
2350         (WebCore::TestObjV8Internal::convert5Method):
2351         (WebCore::TestObjV8Internal::variadicNodeMethodMethod):
2352         (WebCore::ConfigureV8TestObjTemplate):
2353         (WebCore::V8TestObj::GetTemplate):
2354         (WebCore::V8TestObj::HasInstance):
2355         * bindings/scripts/test/V8/V8TestObj.h:
2356         (V8TestObj):
2357         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2358         (WebCore::TestOverloadedConstructorsV8Internal::constructor1):
2359         (WebCore::TestOverloadedConstructorsV8Internal::constructor2):
2360         (WebCore::TestOverloadedConstructorsV8Internal::constructor3):
2361         (WebCore::TestOverloadedConstructorsV8Internal::constructor):
2362         (WebCore::V8TestOverloadedConstructors::GetTemplate):
2363         (WebCore::V8TestOverloadedConstructors::HasInstance):
2364         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
2365         (V8TestOverloadedConstructors):
2366         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2367         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
2368         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
2369         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2370         (V8TestSerializedScriptValueInterface):
2371         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
2372         (WebCore::TestTypedefsV8Internal::funcMethod):
2373         (WebCore::ConfigureV8TestTypedefsTemplate):
2374         (WebCore::V8TestTypedefs::GetTemplate):
2375         (WebCore::V8TestTypedefs::HasInstance):
2376         * bindings/scripts/test/V8/V8TestTypedefs.h:
2377         (V8TestTypedefs):
2378         * bindings/v8/Dictionary.cpp:
2379         (WebCore::Dictionary::get):
2380         * bindings/v8/ScriptProfiler.cpp:
2381         (WebCore::ScriptProfiler::visitNodeWrappers):
2382         * bindings/v8/SerializedScriptValue.cpp:
2383         * bindings/v8/V8AdaptorFunction.cpp:
2384         (WebCore::V8AdaptorFunction::getTemplate):
2385         * bindings/v8/V8Binding.cpp:
2386         (WebCore::toDOMStringList):
2387         (WebCore::toXPathNSResolver):
2388         * bindings/v8/V8Binding.h:
2389         (WebCore::toRefPtrNativeArray):
2390         (WebCore):
2391         * bindings/v8/V8Collection.cpp:
2392         (WebCore::toOptionsCollectionSetter):
2393         * bindings/v8/V8GCController.cpp:
2394         * bindings/v8/V8NPObject.cpp:
2395         (WebCore::npObjectInvokeImpl):
2396         * bindings/v8/V8PerIsolateData.cpp:
2397         (WebCore::V8PerIsolateData::reportMemoryUsage):
2398         (WebCore::V8PerIsolateData::hasPrivateTemplate):
2399         (WebCore::V8PerIsolateData::privateTemplate):
2400         (WebCore::V8PerIsolateData::rawTemplate):
2401         (WebCore::V8PerIsolateData::hasInstance):
2402         * bindings/v8/V8PerIsolateData.h:
2403         (WebCore::V8PerIsolateData::rawTemplateMap):
2404         (WebCore::V8PerIsolateData::templateMap):
2405         (V8PerIsolateData):
2406         * bindings/v8/V8Utilities.cpp:
2407         (WebCore::extractTransferables):
2408         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2409         (WebCore::constructWebGLArray):
2410         (WebCore::setWebGLArrayHelper):
2411         * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
2412         (WebCore::V8AudioBufferSourceNode::bufferAttrSetterCustom):
2413         * bindings/v8/custom/V8BlobCustom.cpp:
2414         (WebCore::V8Blob::constructorCustom):
2415         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2416         (WebCore::toCanvasStyle):
2417         * bindings/v8/custom/V8ClipboardCustom.cpp:
2418         (WebCore::V8Clipboard::setDragImageMethodCustom):
2419         * bindings/v8/custom/V8CryptoCustom.cpp:
2420         (WebCore::V8Crypto::getRandomValuesMethodCustom):
2421         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
2422         (WebCore::V8DOMFormData::constructorCustom):
2423         (WebCore::V8DOMFormData::appendMethodCustom):
2424         * bindings/v8/custom/V8DataViewCustom.cpp:
2425         (WebCore::V8DataView::constructorCustom):
2426         * bindings/v8/custom/V8DocumentCustom.cpp:
2427         (WebCore::V8Document::evaluateMethodCustom):
2428         * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
2429         (WebCore::V8HTMLMediaElement::controllerAttrSetterCustom):
2430         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2431         (WebCore::V8HTMLOptionsCollection::addMethodCustom):
2432         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
2433         (WebCore::removeElement):
2434         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2435         (WebCore::V8InjectedScriptHost::isHTMLAllCollectionMethodCustom):
2436         (WebCore::V8InjectedScriptHost::typeMethodCustom):
2437         (WebCore::V8InjectedScriptHost::getEventListenersMethodCustom):
2438         * bindings/v8/custom/V8LocationCustom.cpp:
2439         (WebCore::V8Location::reloadAttrGetterCustom):
2440         (WebCore::V8Location::replaceAttrGetterCustom):
2441         (WebCore::V8Location::assignAttrGetterCustom):
2442         * bindings/v8/custom/V8NodeCustom.cpp:
2443         (WebCore::V8Node::insertBeforeMethodCustom):
2444         (WebCore::V8Node::replaceChildMethodCustom):
2445         (WebCore::V8Node::removeChildMethodCustom):
2446         (WebCore::V8Node::appendChildMethodCustom):
2447         * bindings/v8/custom/V8NodeListCustom.cpp:
2448         (WebCore::V8NodeList::opaqueRootForGC):
2449         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2450         (WebCore::toWebGLUniformLocation):
2451         (WebCore::V8WebGLRenderingContext::getAttachedShadersMethodCustom):
2452         (WebCore::V8WebGLRenderingContext::getProgramParameterMethodCustom):
2453         (WebCore::V8WebGLRenderingContext::getShaderParameterMethodCustom):
2454         (WebCore::V8WebGLRenderingContext::getUniformMethodCustom):
2455         (WebCore::vertexAttribAndUniformHelperf):
2456         (WebCore::uniformHelperi):
2457         (WebCore::uniformMatrixHelper):
2458         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2459         (WebCore::isDocumentType):
2460         (WebCore::V8XMLHttpRequest::sendMethodCustom):
2461
2462 2013-03-15  Sheriff Bot  <webkit.review.bot@gmail.com>
2463
2464         Unreviewed, rolling out r145896.
2465         http://trac.webkit.org/changeset/145896
2466         https://bugs.webkit.org/show_bug.cgi?id=112443
2467
2468         Chrome broken by r145802 and this builds on top of it.
2469         (Requested by marja____ on #webkit).
2470
2471         * bindings/scripts/CodeGeneratorV8.pm:
2472         (GenerateHeader):
2473         (GenerateNormalAttrGetterCallback):
2474         (GenerateNormalAttrGetter):
2475         (GenerateNormalAttrSetterCallback):
2476         (GenerateNormalAttrSetter):
2477         (GenerateNamedConstructor):
2478         (GenerateBatchedAttributeData):
2479         (GenerateSingleBatchedAttribute):
2480         (GenerateImplementation):
2481         (GenerateCallbackImplementation):
2482         (GenerateFunctionCallString):
2483         (CreateCustomSignature):
2484         (NativeToJSValue):
2485         * bindings/scripts/test/V8/V8Float64Array.cpp:
2486         (WebCore::ConfigureV8Float64ArrayTemplate):
2487         (WebCore::V8Float64Array::GetTemplate):
2488         (WebCore::V8Float64Array::HasInstance):
2489         * bindings/scripts/test/V8/V8Float64Array.h:
2490         (WebCore):
2491         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2492         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
2493         (WebCore::V8TestActiveDOMObject::GetTemplate):
2494         (WebCore::V8TestActiveDOMObject::HasInstance):
2495         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2496         (WebCore):
2497         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2498         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
2499         (WebCore::V8TestCustomNamedGetter::GetTemplate):
2500         (WebCore::V8TestCustomNamedGetter::HasInstance):
2501         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2502         (WebCore):
2503         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2504         (WebCore):
2505         (WebCore::ConfigureV8TestEventConstructorTemplate):
2506         (WebCore::V8TestEventConstructor::GetTemplate):
2507         (WebCore::V8TestEventConstructor::HasInstance):
2508         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2509         (WebCore):
2510         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2511         (WebCore::ConfigureV8TestEventTargetTemplate):
2512         (WebCore::V8TestEventTarget::GetTemplate):
2513         (WebCore::V8TestEventTarget::HasInstance):
2514         * bindings/scripts/test/V8/V8TestEventTarget.h:
2515         (WebCore):
2516         * bindings/scripts/test/V8/V8TestException.cpp:
2517         (WebCore::ConfigureV8TestExceptionTemplate):
2518         (WebCore::V8TestException::GetTemplate):
2519         (WebCore::V8TestException::HasInstance):
2520         * bindings/scripts/test/V8/V8TestException.h:
2521         (WebCore):
2522         * bindings/scripts/test/V8/V8TestInterface.cpp:
2523         (TestInterfaceV8Internal):
2524         (WebCore):
2525         (WebCore::ConfigureV8TestInterfaceTemplate):
2526         (WebCore::V8TestInterface::GetTemplate):
2527         (WebCore::V8TestInterface::HasInstance):
2528         * bindings/scripts/test/V8/V8TestInterface.h:
2529         (WebCore):
2530         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2531         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
2532         (WebCore::V8TestMediaQueryListListener::GetTemplate):
2533         (WebCore::V8TestMediaQueryListListener::HasInstance):
2534         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2535         (WebCore):
2536         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2537         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
2538         (WebCore::ConfigureV8TestNamedConstructorTemplate):
2539         (WebCore::V8TestNamedConstructor::GetTemplate):
2540         (WebCore::V8TestNamedConstructor::HasInstance):
2541         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2542         (WebCore):
2543         * bindings/scripts/test/V8/V8TestNode.cpp:
2544         (WebCore::ConfigureV8TestNodeTemplate):
2545         (WebCore::V8TestNode::GetTemplate):
2546         (WebCore::V8TestNode::HasInstance):
2547         * bindings/scripts/test/V8/V8TestNode.h:
2548         (WebCore):
2549         * bindings/scripts/test/V8/V8TestObj.cpp:
2550         (TestObjV8Internal):
2551         (WebCore):
2552         (WebCore::ConfigureV8TestObjTemplate):
2553         (WebCore::V8TestObj::GetTemplate):
2554         (WebCore::V8TestObj::HasInstance):
2555         * bindings/scripts/test/V8/V8TestObj.h:
2556         (WebCore):
2557         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2558         (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
2559         (WebCore::V8TestOverloadedConstructors::GetTemplate):
2560         (WebCore::V8TestOverloadedConstructors::HasInstance):
2561         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
2562         (WebCore):
2563         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2564         (WebCore):
2565         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
2566         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
2567         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
2568         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
2569         (WebCore):
2570         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
2571         (WebCore):
2572         (WebCore::ConfigureV8TestTypedefsTemplate):
2573         (WebCore::V8TestTypedefs::GetTemplate):
2574         (WebCore::V8TestTypedefs::HasInstance):
2575         * bindings/scripts/test/V8/V8TestTypedefs.h:
2576         (WebCore):
2577         * bindings/v8/DOMDataStore.h:
2578         (DOMDataStore):
2579         * bindings/v8/V8DOMConfiguration.cpp:
2580         * bindings/v8/V8DOMConfiguration.h:
2581         (V8DOMConfiguration):
2582         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2583         * bindings/v8/custom/V8EventTargetCustom.cpp:
2584         * bindings/v8/custom/V8IDBAnyCustom.cpp:
2585         * bindings/v8/custom/V8MicroDataItemValueCustom.cpp:
2586         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2587
2588 2013-03-15  Alberto Garcia  <agarcia@igalia.com>
2589
2590         [BlackBerry] Remove PlatformSupport
2591         https://bugs.webkit.org/show_bug.cgi?id=112438
2592
2593         Reviewed by Rob Buis.
2594
2595         This class only contains getFontFamilyForCharacters(), which was
2596         moved from PlatformSupport to FontCache in r129257.
2597
2598         This patch does the same for the BlackBerry port.
2599
2600         * platform/graphics/FontCache.h:
2601         (FontCache):
2602         * platform/graphics/blackberry/FontCacheBlackBerry.cpp:
2603         (WebCore::FontCache::getFontFamilyForCharacters):
2604         (WebCore):
2605         (WebCore::FontCache::getFontDataForCharacters):
2606         * platform/graphics/blackberry/PlatformSupport.cpp: Removed.
2607         * platform/graphics/blackberry/PlatformSupport.h: Removed.
2608
2609 2013-03-15  Alberto Garcia  <agarcia@igalia.com>
2610
2611         [BlackBerry] FontPlatformData: remove TextOrientation parameter
2612         https://bugs.webkit.org/show_bug.cgi?id=112135
2613
2614         Reviewed by Rob Buis.
2615
2616         I forgot to remove the #include "TextOrientation.h" line as
2617         well. This file no longer exists.
2618
2619         * platform/graphics/blackberry/FontCustomPlatformData.h:
2620
2621 2013-03-15  Sankeerth V S  <sankeerth.vs@samsung.com>
2622
2623         DataGrid should reveal and select next/previous DataGridNode upon deletion of selected node
2624         https://bugs.webkit.org/show_bug.cgi?id=112404
2625
2626         Reviewed by Vsevolod Vlasov.
2627
2628         No new tests as this is a UI related change.
2629
2630         While deleting the entries of the data grid by clicking on 'Delete'
2631         status bar button, deletion of selected node should trigger selection of
2632         next possible (backward/forward) DataGridNode.
2633
2634         * inspector/front-end/DOMStorageItemsView.js:
2635         (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked):
2636         * inspector/front-end/DataGrid.js:
2637         (WebInspector.DataGrid.prototype._keyDown):
2638         (WebInspector.DataGrid.prototype.changeNodeAfterDeletion):
2639
2640 2013-03-15  Ilya Tikhonovsky  <loislo@chromium.org>
2641
2642         Web Inspector: Flame Chart. Draw timeline grid over flame chart items.
2643         https://bugs.webkit.org/show_bug.cgi?id=112439
2644
2645         Reviewed by Pavel Feldman.
2646
2647         I've used WebInspector.TimelineGrid
2648
2649         * inspector/front-end/FlameChart.js:
2650         (WebInspector.FlameChart):
2651         (WebInspector.FlameChart.Calculator):
2652         (WebInspector.FlameChart.Calculator.prototype._updateBoundaries):
2653         (WebInspector.FlameChart.Calculator.prototype.computePosition):
2654         (WebInspector.FlameChart.Calculator.prototype.formatTime):
2655         (WebInspector.FlameChart.Calculator.prototype.maximumBoundary):
2656         (WebInspector.FlameChart.Calculator.prototype.minimumBoundary):
2657         (WebInspector.FlameChart.Calculator.prototype.boundarySpan):
2658         (WebInspector.FlameChart.prototype.update):
2659
2660 2013-03-15  Marja Hölttä  <marja@chromium.org>
2661
2662         [V8] Add machinery for generating specialized bindings for the main world
2663         https://bugs.webkit.org/show_bug.cgi?id=111417
2664
2665         Reviewed by Kentaro Hara.
2666
2667         The new specialized bindings will be faster, because they don't need to
2668         do the "main world, isolated world or a worker" check, but can right
2669         away assume that we're in the main world.
2670
2671         This patch generates main world bindings for getters and setters.
2672
2673         No new tests (updated existing bindings tests).
2674
2675         * bindings/scripts/CodeGeneratorV8.pm:
2676         (GenerateHeader):
2677         (GenerateNormalAttrGetterCallback):
2678         (GenerateNormalAttrGetter):
2679         (GenerateNormalAttrSetterCallback):
2680         (GenerateNormalAttrSetter):
2681         (GenerateNamedConstructor):
2682         (GenerateBatchedAttributeData):
2683         (GenerateSingleBatchedAttribute):
2684         (GenerateImplementation):
2685         (GenerateCallbackImplementation):
2686         (GenerateFunctionCallString):
2687         (CreateCustomSignature):
2688         (NativeToJSValue):
2689         * bindings/scripts/test/V8/V8Float64Array.cpp:
2690         (WebCore::ConfigureV8Float64ArrayTemplate):
2691         (WebCore::V8Float64Array::GetTemplate):
2692         (WebCore::V8Float64Array::HasInstance):
2693         * bindings/scripts/test/V8/V8Float64Array.h:
2694         (WebCore::toV8ForMainWorld):
2695         (WebCore):
2696         (WebCore::toV8FastForMainWorld):
2697         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2698         (WebCore::TestActiveDOMObjectV8Internal::excitingAttrAttrGetterForMainWorld):
2699         (TestActiveDOMObjectV8Internal):
2700         (WebCore::TestActiveDOMObjectV8Internal::excitingAttrAttrGetterCallbackForMainWorld):
2701         (WebCore):
2702         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
2703         (WebCore::V8TestActiveDOMObject::GetTemplate):
2704         (WebCore::V8TestActiveDOMObject::HasInstance):
2705         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
2706         (WebCore::toV8ForMainWorld):
2707         (WebCore):
2708         (WebCore::toV8FastForMainWorld):
2709         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2710         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
2711         (WebCore::V8TestCustomNamedGetter::GetTemplate):
2712         (WebCore::V8TestCustomNamedGetter::HasInstance):
2713         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
2714         (WebCore::toV8ForMainWorld):
2715         (WebCore):
2716         (WebCore::toV8FastForMainWorld):
2717         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2718         (WebCore::TestEventConstructorV8Internal::attr1AttrGetterForMainWorld):
2719         (TestEventConstructorV8Internal):
2720         (WebCore::TestEventConstructorV8Internal::attr1AttrGetterCallbackForMainWorld):
2721         (WebCore::TestEventConstructorV8Internal::attr2AttrGetterForMainWorld):
2722         (WebCore::TestEventConstructorV8Internal::attr2AttrGetterCallbackForMainWorld):
2723         (WebCore):
2724         (WebCore::ConfigureV8TestEventConstructorTemplate):
2725         (WebCore::V8TestEventConstructor::GetTemplate):
2726         (WebCore::V8TestEventConstructor::HasInstance):
2727         * bindings/scripts/test/V8/V8TestEventConstructor.h:
2728         (WebCore::toV8ForMainWorld):
2729         (WebCore):
2730         (WebCore::toV8FastForMainWorld):
2731         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2732         (WebCore::ConfigureV8TestEventTargetTemplate):
2733         (WebCore::V8TestEventTarget::GetTemplate):
2734         (WebCore::V8TestEventTarget::HasInstance):
2735         * bindings/scripts/test/V8/V8TestEventTarget.h:
2736         (WebCore::toV8ForMainWorld):
2737         (WebCore):
2738         (WebCore::toV8FastForMainWorld):
2739         * bindings/scripts/test/V8/V8TestException.cpp:
2740         (WebCore::TestExceptionV8Internal::nameAttrGetterForMainWorld):
2741         (TestExceptionV8Internal):
2742         (WebCore::TestExceptionV8Internal::nameAttrGetterCallbackForMainWorld):
2743         (WebCore):
2744         (WebCore::ConfigureV8TestExceptionTemplate):
2745         (WebCore::V8TestException::GetTemplate):
2746         (WebCore::V8TestException::HasInstance):
2747         * bindings/scripts/test/V8/V8TestException.h:
2748         (WebCore::toV8ForMainWorld):
2749         (WebCore):
2750         (WebCore::toV8FastForMainWorld):
2751         * bindings/scripts/test/V8/V8TestInterface.cpp:
2752         (WebCore::TestInterfaceV8Internal::supplementalStaticReadOnlyAttrAttrGetterForMainWorld):
2753         (TestInterfaceV8Internal):
2754         (WebCore::TestInterfaceV8Internal::supplementalStaticReadOnlyAttrAttrGetterCallbackForMainWorld):
2755         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetterForMainWorld):
2756         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetterCallbackForMainWorld):
2757         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetterForMainWorld):
2758         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetterCallbackForMainWorld):
2759         (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetterForMainWorld):
2760         (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetterCallbackForMainWorld):
2761         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetterForMainWorld):
2762         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetterCallbackForMainWorld):
2763         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetterForMainWorld):
2764         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetterCallbackForMainWorld):
2765         (WebCore::TestInterfaceV8Internal::supplementalStr3AttrGetterCallbackForMainWorld):
2766         (WebCore::TestInterfaceV8Internal::supplementalStr3AttrSetterCallbackForMainWorld):
2767         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetterForMainWorld):
2768         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetterCallbackForMainWorld):
2769         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetterForMainWorld):
2770         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetterCallbackForMainWorld):
2771         (WebCore):
2772         (WebCore::ConfigureV8TestInterfaceTemplate):
2773         (WebCore::V8TestInterface::GetTemplate):
2774         (WebCore::V8TestInterface::HasInstance):
2775         * bindings/scripts/test/V8/V8TestInterface.h:
2776         (WebCore::toV8ForMainWorld):
2777         (WebCore):
2778         (WebCore::toV8FastForMainWorld):
2779         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2780         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
2781         (WebCore::V8TestMediaQueryListListener::GetTemplate):
2782         (WebCore::V8TestMediaQueryListListener::HasInstance):
2783         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
2784         (WebCore::toV8ForMainWorld):
2785         (WebCore):
2786         (WebCore::toV8FastForMainWorld):
2787         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2788         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
2789         (WebCore::ConfigureV8TestNamedConstructorTemplate):
2790         (WebCore::V8TestNamedConstructor::GetTemplate):
2791         (WebCore::V8TestNamedConstructor::HasInstance):
2792         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
2793         (WebCore::toV8ForMainWorld):
2794         (WebCore):
2795         (WebCore::toV8FastForMainWorld):
2796         * bindings/scripts/test/V8/V8TestNode.cpp:
2797         (WebCore::ConfigureV8TestNodeTemplate):
2798         (WebCore::V8TestNode::GetTemplate):
2799         (WebCore::V8TestNode::HasInstance):
2800         * bindings/scripts/test/V8/V8TestNode.h:
2801         (WebCore::toV8ForMainWorld):
2802         (WebCore):
2803         (WebCore::toV8FastForMainWorld):
2804         * bindings/scripts/test/V8/V8TestObj.cpp:
2805         (WebCore::TestObjV8Internal::readOnlyLongAttrAttrGetterForMainWorld):
2806         (TestObjV8Internal):
2807         (WebCore::TestObjV8Internal::readOnlyLongAttrAttrGetterCallbackForMainWorld):
2808         (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetterForMainWorld):
2809         (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetterCallbackForMainWorld):
2810         (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetterForMainWorld):
2811         (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetterCallbackForMainWorld):
2812         (WebCore::TestObjV8Internal::staticReadOnlyLongAttrAttrGetterForMainWorld):
2813         (WebCore::TestObjV8Internal::staticReadOnlyLongAttrAttrGetterCallbackForMainWorld):
2814         (WebCore::TestObjV8Internal::staticStringAttrAttrGetterForMainWorld):
2815         (WebCore::TestObjV8Internal::staticStringAttrAttrGetterCallbackForMainWorld):
2816         (WebCore::TestObjV8Internal::staticStringAttrAttrSetterForMainWorld):
2817         (WebCore::TestObjV8Internal::staticStringAttrAttrSetterCallbackForMainWorld):
2818         (WebCore::TestObjV8Internal::enumAttrAttrGetterForMainWorld):
2819         (WebCore::TestObjV8Internal::enumAttrAttrGetterCallbackForMainWorld):
2820         (WebCore::TestObjV8Internal::enumAttrAttrSetterForMainWorld):
2821         (WebCore::TestObjV8Internal::enumAttrAttrSetterCallbackForMainWorld):
2822         (WebCore::TestObjV8Internal::shortAttrAttrGetterForMainWorld):
2823         (WebCore::TestObjV8Internal::shortAttrAttrGetterCallbackForMainWorld):
2824         (WebCore::TestObjV8Internal::shortAttrAttrSetterForMainWorld):
2825         (WebCore::TestObjV8Internal::shortAttrAttrSetterCallbackForMainWorld):
2826         (WebCore::TestObjV8Internal::unsignedShortAttrAttrGetterForMainWorld):
2827         (WebCore::TestObjV8Internal::unsignedShortAttrAttrGetterCallbackForMainWorld):
2828         (WebCore::TestObjV8Internal::unsignedShortAttrAttrSetterForMainWorld):
2829         (WebCore::TestObjV8Internal::unsignedShortAttrAttrSetterCallbackForMainWorld):
2830         (WebCore::TestObjV8Internal::longAttrAttrGetterForMainWorld):
2831         (WebCore::TestObjV8Internal::longAttrAttrGetterCallbackForMainWorld):
2832         (WebCore::TestObjV8Internal::longAttrAttrSetterForMainWorld):
2833         (WebCore::TestObjV8Internal::longAttrAttrSetterCallbackForMainWorld):
2834         (WebCore::TestObjV8Internal::longLongAttrAttrGetterForMainWorld):
2835         (WebCore::TestObjV8Internal::longLongAttrAttrGetterCallbackForMainWorld):
2836         (WebCore::TestObjV8Internal::longLongAttrAttrSetterForMainWorld):
2837         (WebCore::TestObjV8Internal::longLongAttrAttrSetterCallbackForMainWorld):
2838         (WebCore::TestObjV8Internal::unsignedLongLongAttrAttrGetterForMainWorld):
2839         (WebCore::TestObjV8Internal::unsignedLongLongAttrAttrGetterCallbackForMainWorld):
2840         (WebCore::TestObjV8Internal::unsignedLongLongAttrAttrSetterForMainWorld):
2841         (WebCore::TestObjV8Internal::unsignedLongLongAttrAttrSetterCallbackForMainWorld):
2842         (WebCore::TestObjV8Internal::stringAttrAttrGetterForMainWorld):
2843         (WebCore::TestObjV8Internal::stringAttrAttrGetterCallbackForMainWorld):
2844         (WebCore::TestObjV8Internal::stringAttrAttrSetterForMainWorld):
2845         (WebCore::TestObjV8Internal::stringAttrAttrSetterCallbackForMainWorld):
2846         (WebCore::TestObjV8Internal::testObjAttrAttrGetterForMainWorld):
2847         (WebCore::TestObjV8Internal::testObjAttrAttrGetterCallbackForMainWorld):
2848         (WebCore::TestObjV8Internal::testObjAttrAttrSetterForMainWorld):
2849         (WebCore::TestObjV8Internal::testObjAttrAttrSetterCallbackForMainWorld):
2850         (WebCore::TestObjV8Internal::XMLObjAttrAttrGetterForMainWorld):
2851         (WebCore::TestObjV8Internal::XMLObjAttrAttrGetterCallbackForMainWorld):
2852         (WebCore::TestObjV8Internal::XMLObjAttrAttrSetterForMainWorld):
2853         (WebCore::TestObjV8Internal::XMLObjAttrAttrSetterCallbackForMainWorld):
2854         (WebCore::TestObjV8Internal::createAttrGetterForMainWorld):
2855         (WebCore::TestObjV8Internal::createAttrGetterCallbackForMainWorld):
2856         (WebCore::TestObjV8Internal::createAttrSetterForMainWorld):
2857         (WebCore::TestObjV8Internal::createAttrSetterCallbackForMainWorld):
2858         (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetterForMainWorld):
2859         (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetterCallbackForMainWorld):
2860         (WebCore::TestObjV8Internal::reflectedStringAttrAttrSetterForMainWorld):
2861         (WebCore::TestObjV8Internal::reflectedStringAttrAttrSetterCallbackForMainWorld):
2862         (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrGetterForMainWorld):
2863         (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrGetterCallbackForMainWorld):
2864         (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrSetter):
2865         (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrSetterForMainWorld):
2866         (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrSetterCallbackForMainWorld):
2867         (WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrGetterForMainWorld):
2868         (WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrGetterCallbackForMainWorld):
2869         (WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrSetterForMainWorld):
2870         (WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrSetterCallbackForMainWorld):
2871         (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrGetterForMainWorld):
2872         (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrGetterCallbackForMainWorld):
2873         (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrSetterForMainWorld):
2874         (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrSetterCallbackForMainWorld):
2875         (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetterForMainWorld):
2876         (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetterCallbackForMainWorld):
2877         (WebCore::TestObjV8Internal::reflectedURLAttrAttrSetterForMainWorld):
2878         (WebCore::TestObjV8Internal::reflectedURLAttrAttrSetterCallbackForMainWorld):
2879         (WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrGetterForMainWorld):
2880         (WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrGetterCallbackForMainWorld):
2881         (WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrSetterForMainWorld):
2882         (WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrSetterCallbackForMainWorld):
2883         (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrGetterForMainWorld):
2884         (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrGetterCallbackForMainWorld):
2885         (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrSetterForMainWorld):
2886         (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrSetterCallbackForMainWorld):
2887         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetterForMainWorld):
2888         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetterCallbackForMainWorld):
2889         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetterForMainWorld):
2890         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetterCallbackForMainWorld):
2891         (WebCore::TestObjV8Internal::typedArrayAttrAttrGetterForMainWorld):
2892         (WebCore::TestObjV8Internal::typedArrayAttrAttrGetterCallbackForMainWorld):
2893         (WebCore::TestObjV8Internal::typedArrayAttrAttrSetterForMainWorld):
2894         (WebCore::TestObjV8Internal::typedArrayAttrAttrSetterCallbackForMainWorld):
2895         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetterForMainWorld):
2896         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetterCallbackForMainWorld):
2897         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrSetterForMainWorld):
2898         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrSetterCallbackForMainWorld):
2899         (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrGetterForMainWorld):
2900         (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrGetterCallbackForMainWorld):
2901         (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrSetterForMainWorld):
2902         (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrSetterCallbackForMainWorld):
2903         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetterForMainWorld):
2904         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetterCallbackForMainWorld):
2905         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetterForMainWorld):
2906         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetterCallbackForMainWorld):
2907         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetterForMainWorld):
2908         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetterCallbackForMainWorld):
2909         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetterForMainWorld):
2910         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetterCallbackForMainWorld):
2911         (WebCore::TestObjV8Internal::customAttrAttrGetterCallbackForMainWorld):
2912         (WebCore::TestObjV8Internal::customAttrAttrSetterCallbackForMainWorld):
2913         (WebCore::TestObjV8Internal::withScriptStateAttributeAttrGetterForMainWorld):
2914         (WebCore::TestObjV8Internal::withScriptStateAttributeAttrGetterCallbackForMainWorld):
2915         (WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetterForMainWorld):
2916         (WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetterCallbackForMainWorld):
2917         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetterForMainWorld):
2918         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetterCallbackForMainWorld):
2919         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetterForMainWorld):
2920         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetterCallbackForMainWorld):
2921         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetterForMainWorld):
2922         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetterCallbackForMainWorld):
2923         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetterForMainWorld):
2924         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetterCallbackForMainWorld):
2925         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetterForMainWorld):
2926         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetterCallbackForMainWorld):
2927         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetterForMainWorld):
2928         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetterCallbackForMainWorld):
2929         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetterForMainWorld):
2930         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetterCallbackForMainWorld):
2931         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetterForMainWorld):
2932         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetterCallbackForMainWorld):
2933         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetterForMainWorld):
2934         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetterCallbackForMainWorld):
2935         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetterForMainWorld):
2936         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetterCallbackForMainWorld):
2937         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetterForMainWorld):
2938         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetterCallbackForMainWorld):
2939         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetterForMainWorld):
2940         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetterCallbackForMainWorld):
2941         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetterForMainWorld):
2942         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetterCallbackForMainWorld):
2943         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetterForMainWorld):
2944         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetterCallbackForMainWorld):
2945         (WebCore::TestObjV8Internal::conditionalAttr1AttrGetterForMainWorld):
2946         (WebCore::TestObjV8Internal::conditionalAttr1AttrGetterCallbackForMainWorld):
2947         (WebCore::TestObjV8Internal::conditionalAttr1AttrSetterForMainWorld):
2948         (WebCore::TestObjV8Internal::conditionalAttr1AttrSetterCallbackForMainWorld):
2949         (WebCore::TestObjV8Internal::conditionalAttr2AttrGetterForMainWorld):
2950         (WebCore::TestObjV8Internal::conditionalAttr2AttrGetterCallbackForMainWorld):
2951         (WebCore::TestObjV8Internal::conditionalAttr2AttrSetterForMainWorld):
2952         (WebCore::TestObjV8Internal::conditionalAttr2AttrSetterCallbackForMainWorld):
2953         (WebCore::TestObjV8Internal::conditionalAttr3AttrGetterForMainWorld):
2954         (WebCore::TestObjV8Internal::conditionalAttr3AttrGetterCallbackForMainWorld):
2955         (WebCore::TestObjV8Internal::conditionalAttr3AttrSetterForMainWorld):
2956         (WebCore::TestObjV8Internal::conditionalAttr3AttrSetterCallbackForMainWorld):
2957         (WebCore::TestObjV8Internal::cachedAttribute1AttrGetterForMainWorld):
2958         (WebCore::TestObjV8Internal::cachedAttribute1AttrGetterCallbackForMainWorld):
2959         (WebCore::TestObjV8Internal::cachedAttribute2AttrGetterForMainWorld):
2960         (WebCore::TestObjV8Internal::cachedAttribute2AttrGetterCallbackForMainWorld):
2961         (WebCore::TestObjV8Internal::anyAttributeAttrGetterForMainWorld):
2962         (WebCore::TestObjV8Internal::anyAttributeAttrGetterCallbackForMainWorld):
2963         (WebCore::TestObjV8Internal::anyAttributeAttrSetterForMainWorld):
2964         (WebCore::TestObjV8Internal::anyAttributeAttrSetterCallbackForMainWorld):
2965         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrGetterForMainWorld):
2966         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrGetterCallbackForMainWorld):
2967         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrSetterForMainWorld):
2968         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrSetterCallbackForMainWorld):
2969         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrGetterForMainWorld):
2970         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrGetterCallbackForMainWorld):
2971         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrSetterForMainWorld):
2972         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrSetterCallbackForMainWorld):
2973         (WebCore::TestObjV8Internal::floatArrayAttrGetterForMainWorld):
2974         (WebCore::TestObjV8Internal::floatArrayAttrGetterCallbackForMainWorld):
2975         (WebCore::TestObjV8Internal::floatArrayAttrSetterForMainWorld):
2976         (WebCore::TestObjV8Internal::floatArrayAttrSetterCallbackForMainWorld):
2977         (WebCore::TestObjV8Internal::doubleArrayAttrGetterForMainWorld):
2978         (WebCore::TestObjV8Internal::doubleArrayAttrGetterCallbackForMainWorld):
2979         (WebCore::TestObjV8Internal::doubleArrayAttrSetterForMainWorld):
2980         (WebCore::TestObjV8Internal::doubleArrayAttrSetterCallbackForMainWorld):
2981         (WebCore::TestObjV8Internal::contentDocumentAttrGetterForMainWorld):
2982         (WebCore::TestObjV8Internal::contentDocumentAttrGetterCallbackForMainWorld):
2983         (WebCore::TestObjV8Internal::mutablePointAttrGetterForMainWorld):
2984         (WebCore::TestObjV8Internal::mutablePointAttrGetterCallbackForMainWorld):
2985         (WebCore::TestObjV8Internal::mutablePointAttrSetterForMainWorld):
2986         (WebCore::TestObjV8Internal::mutablePointAttrSetterCallbackForMainWorld):
2987         (WebCore::TestObjV8Internal::immutablePointAttrGetterForMainWorld):
2988         (WebCore::TestObjV8Internal::immutablePointAttrGetterCallbackForMainWorld):
2989         (WebCore::TestObjV8Internal::immutablePointAttrSetterForMainWorld):
2990         (WebCore::TestObjV8Internal::immutablePointAttrSetterCallbackForMainWorld):
2991         (WebCore::TestObjV8Internal::strawberryAttrGetterForMainWorld):
2992         (WebCore::TestObjV8Internal::strawberryAttrGetterCallbackForMainWorld):
2993         (WebCore::TestObjV8Internal::strawberryAttrSetterForMainWorld):
2994         (WebCore::TestObjV8Internal::strawberryAttrSetterCallbackForMainWorld):
2995         (WebCore::TestObjV8Internal::strictFloatAttrGetterForMainWorld):
2996         (WebCore::TestObjV8Internal::strictFloatAttrGetterCallbackForMainWorld):
2997         (WebCore::TestObjV8Internal::strictFloatAttrSetterForMainWorld):
2998         (WebCore::TestObjV8Internal::strictFloatAttrSetterCallbackForMainWorld):
2999         (WebCore::TestObjV8Internal::descriptionAttrGetterForMainWorld):
3000         (WebCore::TestObjV8Internal::descriptionAttrGetterCallbackForMainWorld):
3001         (WebCore::TestObjV8Internal::idAttrGetterForMainWorld):
3002         (WebCore::TestObjV8Internal::idAttrGetterCallbackForMainWorld):
3003         (WebCore::TestObjV8Internal::idAttrSetterForMainWorld):
3004         (WebCore::TestObjV8Internal::idAttrSetterCallbackForMainWorld):
3005         (WebCore::TestObjV8Internal::hashAttrGetterForMainWorld):
3006         (WebCore::TestObjV8Internal::hashAttrGetterCallbackForMainWorld):
3007         (WebCore::TestObjV8Internal::replaceableAttributeAttrGetterForMainWorld):
3008         (WebCore::TestObjV8Internal::replaceableAttributeAttrGetterCallbackForMainWorld):
3009         (WebCore):
3010         (WebCore::ConfigureV8TestObjTemplate):
3011         (WebCore::V8TestObj::GetTemplate):
3012         (WebCore::V8TestObj::HasInstance):
3013         * bindings/scripts/test/V8/V8TestObj.h:
3014         (WebCore::toV8ForMainWorld):
3015         (WebCore):
3016         (WebCore::toV8FastForMainWorld):
3017         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
3018         (WebCore::ConfigureV8TestOverloadedConstructorsTemplate):
3019         (WebCore::V8TestOverloadedConstructors::GetTemplate):
3020         (WebCore::V8TestOverloadedConstructors::HasInstance):
3021         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
3022         (WebCore::toV8ForMainWorld):
3023         (WebCore):
3024         (WebCore::toV8FastForMainWorld):
3025         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3026         (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetterForMainWorld):
3027         (TestSerializedScriptValueInterfaceV8Internal):
3028         (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetterCallbackForMainWorld):
3029         (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrSetterForMainWorld):
3030         (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrSetterCallbackForMainWorld):
3031         (WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetterForMainWorld):
3032         (WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetterCallbackForMainWorld):
3033         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetterForMainWorld):
3034         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetterCallbackForMainWorld):
3035         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetterForMainWorld):
3036         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetterCallbackForMainWorld):
3037         (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetterForMainWorld):
3038         (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetterCallbackForMainWorld):
3039         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetterForMainWorld):
3040         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetterCallbackForMainWorld):
3041         (WebCore):
3042         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
3043         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
3044         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
3045         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
3046         (WebCore::toV8ForMainWorld):
3047         (WebCore):
3048         (WebCore::toV8FastForMainWorld):
3049         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
3050         (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrGetterForMainWorld):
3051         (TestTypedefsV8Internal):
3052         (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrGetterCallbackForMainWorld):
3053         (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrSetterForMainWorld):
3054         (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrSetterCallbackForMainWorld):
3055         (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrGetterForMainWorld):
3056         (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrGetterCallbackForMainWorld):
3057         (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrSetterForMainWorld):
3058         (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrSetterCallbackForMainWorld):
3059         (WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrGetterForMainWorld):
3060         (WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrGetterCallbackForMainWorld):
3061         (WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrSetterForMainWorld):
3062         (WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrSetterCallbackForMainWorld):
3063         (WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrGetterForMainWorld):
3064         (WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrGetterCallbackForMainWorld):
3065         (WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrSetterForMainWorld):
3066         (WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrSetterCallbackForMainWorld):
3067         (WebCore::TestTypedefsV8Internal::stringAttrWithGetterExceptionAttrGetterForMainWorld):
3068         (WebCore::TestTypedefsV8Internal::stringAttrWithGetterExceptionAttrGetterCallbackForMainWorld):
3069         (WebCore::TestTypedefsV8Internal::stringAttrWithGetterExceptionAttrSetterForMainWorld):
3070         (WebCore::TestTypedefsV8Internal::stringAttrWithGetterExceptionAttrSetterCallbackForMainWorld):
3071         (WebCore::TestTypedefsV8Internal::stringAttrWithSetterExceptionAttrGetterForMainWorld):
3072         (WebCore::TestTypedefsV8Internal::stringAttrWithSetterExceptionAttrGetterCallbackForMainWorld):
3073         (WebCore::TestTypedefsV8Internal::stringAttrWithSetterExceptionAttrSetterForMainWorld):
3074         (WebCore::TestTypedefsV8Internal::stringAttrWithSetterExceptionAttrSetterCallbackForMainWorld):
3075         (WebCore):
3076         (WebCore::ConfigureV8TestTypedefsTemplate):
3077         (WebCore::V8TestTypedefs::GetTemplate):
3078         (WebCore::V8TestTypedefs::HasInstance):
3079         * bindings/scripts/test/V8/V8TestTypedefs.h:
3080         (WebCore::toV8ForMainWorld):
3081         (WebCore):
3082         (WebCore::toV8FastForMainWorld):
3083         * bindings/v8/DOMDataStore.h:
3084         (WebCore::DOMDataStore::getWrapperForMainWorld):
3085         (DOMDataStore):
3086         * bindings/v8/V8DOMConfiguration.cpp:
3087         (WebCore::V8DOMConfiguration::addToTemplate):
3088         (WebCore):
3089         * bindings/v8/V8DOMConfiguration.h:
3090         (V8DOMConfiguration):
3091         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3092         (WebCore::toV8ForMainWorld):
3093         (WebCore):
3094         * bindings/v8/custom/V8EventTargetCustom.cpp:
3095         (WebCore::toV8ForMainWorld):
3096         (WebCore):
3097         * bindings/v8/custom/V8IDBAnyCustom.cpp:
3098         (WebCore::toV8ForMainWorld):
3099         (WebCore):
3100         * bindings/v8/custom/V8MicroDataItemValueCustom.cpp:
3101         (WebCore::toV8ForMainWorld):
3102         (WebCore):
3103         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3104         (WebCore::toV8ForMainWorld):
3105         (WebCore):
3106
3107 2013-03-15  Ilya Tikhonovsky  <loislo@chromium.org>
3108
3109         Web Inspector: Flame Chart. xOffset calculates incorrectly when chart width less that canvas.width.
3110         https://bugs.webkit.org/show_bug.cgi?id=112423
3111
3112         Reviewed by Yury Semikhatsky.
3113
3114         I extracted xOffset assigment procedure into a separate function.
3115
3116         Drive by fix: size and posion of anchor element was adjusted.
3117         Drive by fix: we will not paint item if it is not visible.
3118
3119         * inspector/front-end/FlameChart.js:
3120         (WebInspector.FlameChart.prototype._maxXOffset):
3121         (WebInspector.FlameChart.prototype._setXOffset):
3122         (WebInspector.FlameChart.prototype._canvasDragging):
3123         (WebInspector.FlameChart.prototype._onMouseMove):
3124         (WebInspector.FlameChart.prototype._adjustXOffset):
3125         (WebInspector.FlameChart.prototype._adjustXScale):
3126         (WebInspector.FlameChart.prototype.draw):
3127
3128 2013-03-15  Noam Rosenthal  <noam@webkit.org>
3129
3130         [Texmap] Change brightness filter to match new spec
3131         https://bugs.webkit.org/show_bug.cgi?id=112422
3132
3133         New filters spec specifies an intercept of 0 instead of 1.
3134         This is already done for the software version in http://trac.webkit.org/changeset/139770.
3135         This patch adjusts the value for the accelerated version.
3136
3137         Reviewed by Allan Sandfeld Jensen.
3138
3139         Filter tests are currently disabled on Qt/GTK/EFL, but they would need to be rebaselined once enabled.
3140
3141         * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
3142
3143 2013-03-15  Jaehun Lim  <ljaehun.lim@samsung.com>
3144
3145         Call release() when a RefPtr is returned.
3146         https://bugs.webkit.org/show_bug.cgi?id=112420
3147
3148         Reviewed by Eric Seidel.
3149
3150         release() should be called on a RefPtr to convert it to a PassRefPtr.
3151
3152         No new tests needed, no behavior changes.
3153
3154         * css/CSSParser.cpp:
3155         (WebCore::CSSParser::parseImageResolution):
3156         (WebCore::CSSParser::parseImageSet):
3157
3158 2013-03-15  Eugene Klyuchnikov  <eustas@chromium.org>
3159
3160         Web Inspector: [Network] InitiatorComparator is not reflexive/antisymmetric.
3161         https://bugs.webkit.org/show_bug.cgi?id=112341
3162
3163         Reviewed by Vsevolod Vlasov.
3164
3165         When both objects do not have initiator: f(a, b) = f(b, a) = -1
3166         Furthermore: redirected responses are mixed with "other".
3167
3168         * inspector/front-end/NetworkPanel.js:
3169         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
3170         Remember "displayed" initiator type.
3171         (WebInspector.NetworkDataGridNode.InitiatorComparator):
3172         Recall "diaplayed" initiator type for more precise comparison.
3173
3174 2013-03-15  Andrey Kosyakov  <caseq@chromium.org>
3175
3176         Web Inspector: show image decode performed off main thread on timeline
3177         https://bugs.webkit.org/show_bug.cgi?id=111159
3178
3179         Reviewed by Pavel Feldman.
3180
3181         - add handling of Decode Image event to TimelineTraceEventProcessorr;
3182         - only log platform events for the main thread;
3183         - extract constants for trace events produced by platform instrumentation.
3184
3185         * inspector/InspectorTimelineAgent.cpp:
3186         (TimelineRecordType):
3187         * inspector/InspectorTimelineAgent.h:
3188         (TimelineRecordType):
3189         * inspector/TimelineTraceEventProcessor.cpp:
3190         (WebCore::TimelineTraceEventProcessor::TimelineTraceEventProcessor):
3191         (WebCore::TimelineTraceEventProcessor::onImageDecodeBegin):
3192         (WebCore):
3193         (WebCore::TimelineTraceEventProcessor::onImageDecodeEnd):
3194         * inspector/TimelineTraceEventProcessor.h:
3195         (TimelineTraceEventProcessor):
3196         * platform/PlatformInstrumentation.cpp:
3197         (WebCore):
3198         * platform/PlatformInstrumentation.h:
3199         (PlatformInstrumentation):
3200         (WebCore):
3201         (WebCore::PlatformInstrumentation::willDecodeImage):
3202         (WebCore::PlatformInstrumentation::didDecodeImage):
3203         (WebCore::PlatformInstrumentation::willResizeImage):
3204         (WebCore::PlatformInstrumentation::didResizeImage):
3205
3206 2013-03-15  Ilya Tikhonovsky  <loislo@chromium.org>
3207
3208         Web Inspector: Flame Chart. When user zooms the chart, the point under cursor has to be the zooming center.
3209         https://bugs.webkit.org/show_bug.cgi?id=112417
3210
3211         Reviewed by Yury Semikhatsky.
3212
3213         It converts the cursor position into time,
3214         changes the scale factor and calculates the new offset for the canvas.
3215
3216         * inspector/front-end/FlameChart.js:
3217         (WebInspector.FlameChart.prototype._adjustXScale):
3218         (WebInspector.FlameChart.prototype._onMouseWheel):
3219
3220 2013-03-13  Eugene Klyuchnikov  <eustas@chromium.org>
3221
3222         Web Inspector: [Network] Sort columns context menu items alphabetically.
3223         https://bugs.webkit.org/show_bug.cgi?id=112321
3224
3225         Reviewed by Pavel Feldman.
3226
3227         Problem: columns are presented in "natural" order,
3228         so it is hard to find specific item.
3229
3230         * inspector/front-end/NetworkPanel.js:
3231         (WebInspector.NetworkLogView.prototype._getConfigurableColumnIDs):
3232         Generate list of column IDs sorted alphabetically.
3233         (WebInspector.NetworkLogView.prototype._contextMenu):
3234         Use alphabetically sorted list of column IDs.
3235
3236 2013-03-15  Takashi Sakamoto  <tasak@google.com>
3237
3238         Crash at RenderStyle::inheritFrom reported by fuzzer
3239         https://bugs.webkit.org/show_bug.cgi?id=112322
3240
3241         Reviewed by Hajime Morrita.
3242
3243         pseudoStyleForElement should check whether a parent style of a given
3244         element is available or not. If a given element's parent is
3245         an insertion point whose reset-style-inheritance is true, the parent
3246         style is not available. Need to use defaultStyleForElement.
3247
3248         Test: fast/dom/shadow/insertion-point-resetStyleInheritance-with-pseudo-element-crash.html
3249
3250         * css/StyleResolver.cpp:
3251         (WebCore::StyleResolver::styleForElement):
3252         Removed cloneForParent. Instead, made m_state own parentStyle, i.e.
3253         changed m_parentStyle in class State from RenderStyle* to
3254         RefPtr<RenderStyle>.
3255         (WebCore::StyleResolver::pseudoStyleForElement):
3256         If an actual parent style of a given element is not available, use
3257         defaultStyleForElement. This is the same logic as styleForElement.
3258         * css/StyleResolver.h:
3259         (WebCore::StyleResolver::State::setParentStyle):
3260         Modified the parameter to use PassRefPtr<RenderStyle>.
3261         (WebCore::StyleResolver::State::parentStyle):
3262         (State):
3263
3264 2013-03-15  Mihnea Ovidenie  <mihnea@adobe.com>
3265
3266         [CSS Regions] Selecting text inside an empty region causes selection outside the region area
3267         https://bugs.webkit.org/show_bug.cgi?id=107752
3268
3269         Reviewed by David Hyatt.
3270
3271         When performing hit testing inside a flow thread, we need to make sure that
3272         we actually hit some node from the flow thread content and not the flow thread
3273         itself (which would set the hit test result node to the document node, allowing
3274         wrong selection of content outside the empty region).
3275
3276         Test: fast/regions/selecting-text-in-empty-region.html
3277
3278         * rendering/RenderFlowThread.cpp:
3279         (WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
3280
3281 2013-03-15  Luiz Agostini  <luiz.agostini@nokia.com>
3282
3283         [Texmap] layerRect should be used instead of contents rect for scrollable layer hit tests.
3284         https://bugs.webkit.org/show_bug.cgi?id=112413
3285
3286         Reviewed by Noam Rosenthal.
3287
3288         Using layerRect() instead of m_state.contentsRect for scrollable layer hit test.
3289         * platform/graphics/texmap/TextureMapperLayer.cpp:
3290         (WebCore::TextureMapperLayer::scrollableLayerHitTestCondition):
3291
3292 2013-03-14  Dominic Cooney  <dominicc@chromium.org>
3293
3294         Redundant if statement in RenderTextControlSingleLine::layout should be removed
3295         https://bugs.webkit.org/show_bug.cgi?id=112406
3296
3297         Reviewed by Andreas Kling.
3298
3299         Covered by existing tests added in r145239.
3300
3301         * rendering/RenderTextControlSingleLine.cpp:
3302         (WebCore::RenderTextControlSingleLine::layout):
3303
3304 2013-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3305
3306         Unreviewed, rolling out r145864.
3307         http://trac.webkit.org/changeset/145864
3308         https://bugs.webkit.org/show_bug.cgi?id=112408
3309
3310         should fix XMLDocumentParser instead of CSSDefaultStyleSheet
3311         (Requested by tasak on #webkit).
3312
3313         * css/CSSDefaultStyleSheets.cpp:
3314         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
3315
3316 2013-03-14  Eugene Klyuchnikov  <eustas@chromium.org>
3317
3318         Web Inspector: [DataGrid] Specify columns with array of descriptors.
3319         https://bugs.webkit.org/show_bug.cgi?id=112338
3320
3321         Reviewed by Pavel Feldman.
3322
3323         Currently columns are specified by Object that maps
3324         column identifiers to column descriptors. Iteration order over
3325         Object keys is not guaranteed.
3326
3327         Array should be used to specify column order.
3328
3329         * inspector/front-end/DataGrid.js: Change consrtructor parameter type.
3330         * inspector/front-end/ApplicationCacheItemsView.js: Adopt changes.
3331         * inspector/front-end/CPUProfileView.js: Ditto.
3332         * inspector/front-end/CSSSelectorProfileView.js: Ditto.
3333         * inspector/front-end/CanvasProfileView.js: Ditto.
3334         * inspector/front-end/CookieItemsView.js: Ditto.
3335         * inspector/front-end/CookiesTable.js: Ditto.
3336         * inspector/front-end/DOMStorageItemsView.js: Ditto.
3337         * inspector/front-end/DirectoryContentView.js: Ditto.
3338         * inspector/front-end/HeapSnapshot.js: Ditto.
3339         * inspector/front-end/HeapSnapshotDataGrids.js: Ditto.
3340         * inspector/front-end/IndexedDBViews.js: Ditto.
3341         * inspector/front-end/NativeMemorySnapshotView.js: Ditto.
3342         * inspector/front-end/NetworkPanel.js: Ditto.
3343         * inspector/front-end/ResourceWebSocketFrameView.js: Ditto.
3344
3345 2013-03-14  Ilya Tikhonovsky  <loislo@chromium.org>
3346
3347         Web Inspector: Flame Chart. Support scrolling by dragging.
3348         https://bugs.webkit.org/show_bug.cgi?id=112346
3349
3350         Reviewed by Yury Semikhatsky.
3351
3352         Drag hander was added. It seems that simple repaint works well.
3353         When the user starts dragging we hide the popover, change offset
3354         and do update for the new canvas image.
3355         Drive by change: Due to new way of scrolling the canvas I changed
3356         the behaiviour of the wheel events. Now wheel scrolls if Shift key pressed
3357         and zooms if not.
3358
3359         * inspector/front-end/FlameChart.js:
3360         (WebInspector.FlameChart):
3361         (WebInspector.FlameChart.prototype._startCanvasDragging):
3362         (WebInspector.FlameChart.prototype._canvasDragging):
3363         (WebInspector.FlameChart.prototype._endCanvasDragging):
3364         (WebInspector.FlameChart.prototype._onMouseWheel):
3365
3366 2013-03-14  Hayato Ito  <hayato@chromium.org>
3367
3368         [Shadow Dom]: Non Bubbling events in ShadowDOM dispatch in an incorrect order
3369         https://bugs.webkit.org/show_bug.cgi?id=112214
3370
3371         Reviewed by Dimitri Glazkov.
3372
3373         Fix the order of event dispatching for Shadow DOM.
3374
3375         So far, an event whose event phase should be set to AT_TARGET,
3376         e.g. event at shadow hosts, is dispatched in bubbling phase in the
3377         whole event path.  This patch fixed the order of event dispatching
3378         so that an event whose event phase must be set to AT_TARGET phase
3379         is dispatched in capturing phase rather than bubbling phase.
3380
3381         The spec is here:
3382         https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#event-dispatch
3383
3384         5.5 Event Dispatch says:
3385
3386         - When capturing, which entails processing step 3 of the event
3387         dispatch algorithm, the Event eventPhase attribute must return
3388         AT_TARGET if the relative target is same as the node on which
3389         event listeners are invoked
3390         - When bubbling, which entails
3391         processing step 6 of the event dispatch algorithm, the event
3392         listeners must not be invoked on a node if it is the same as its
3393         relative target
3394
3395         No new tests. Update existing layout tests.
3396
3397         * dom/EventDispatcher.cpp:
3398         (WebCore::EventDispatcher::dispatchEventAtCapturing):
3399         (WebCore::EventDispatcher::dispatchEventAtBubbling):
3400
3401 2013-03-14  Shezan Baig  <sbaig1@bloomberg.net>
3402
3403         Backspace/delete at start of table cell shouldn't step out of cell
3404         https://bugs.webkit.org/show_bug.cgi?id=35372
3405
3406         Reviewed by Ryosuke Niwa.
3407
3408         Make Delete and ForwardDelete commands be no-ops if we are at the first
3409         position or last position of a table cell respectively.
3410
3411         Tests: editing/deleting/backspace-at-table-cell-beginning.html
3412                editing/deleting/forward-delete-at-table-cell-ending.html
3413
3414         * editing/TypingCommand.cpp:
3415         (WebCore::TypingCommand::deleteKeyPressed):
3416         (WebCore::TypingCommand::forwardDeleteKeyPressed):
3417
3418 2013-03-14  Xidorn Quan  <quanxunzhen@gmail.com>
3419
3420         Clickable area is incorrect for elements with border-radius
3421         https://bugs.webkit.org/show_bug.cgi?id=95373
3422
3423         Reviewed by Simon Fraser.
3424
3425         As RenderBlock doesn't see rounded rect which comes from border-radius
3426         in nodeAtPoint, the rounded corner seems to have an 'invisible' square
3427         box which catches hits. So we added check on whether hitTestPoint also
3428         intersects the rounded rect when hasBorderRadius is set.
3429
3430         This patch is based on Takashi Sakamoto's work in
3431         https://bugs.webkit.org/show_bug.cgi?id=95373
3432
3433         Test: fast/borders/border-radius-position.html
3434
3435         * platform/graphics/FloatQuad.cpp:
3436         (WebCore):
3437         (WebCore::lineIntersectsCircle):
3438         (WebCore::FloatQuad::intersectsCircle):
3439         (WebCore::FloatQuad::intersectsEllipse):
3440         * platform/graphics/FloatQuad.h:
3441         (FloatQuad):
3442         * platform/graphics/RoundedRect.cpp:
3443         (WebCore::RoundedRect::intersectsQuad):
3444         (WebCore):
3445         * platform/graphics/RoundedRect.h:
3446         (RoundedRect):
3447         * rendering/HitTestLocation.cpp:
3448         (WebCore::HitTestLocation::intersects):
3449         (WebCore):
3450         * rendering/HitTestLocation.h:
3451         (HitTestLocation):
3452         * rendering/RenderBlock.cpp:
3453         (WebCore::RenderBlock::nodeAtPoint):
3454
3455 2013-03-14  Chris Fleizach  <cfleizach@apple.com>
3456
3457         AX: Crash when removing aria-menu item from DOM
3458         https://bugs.webkit.org/show_bug.cgi?id=112396
3459
3460         Reviewed by Tim Horton.
3461
3462         Prevent nil access to items in the ARIA menu flow when deleting
3463         objects from the DOM.
3464
3465         Test: accessibility/menu-item-crash.html
3466
3467         * accessibility/AccessibilityNodeObject.cpp:
3468         (WebCore::siblingWithAriaRole):
3469         (WebCore::AccessibilityNodeObject::menuButtonForMenu):
3470
3471 2013-03-14  Hayato Ito  <hayato@chromium.org>
3472
3473         [Shadow]: left side of ::-webkit-distributed selector not working as expected
3474         https://bugs.webkit.org/show_bug.cgi?id=110825
3475
3476         Reviewed by Dimitri Glazkov.
3477
3478         Make functional pseudo distributed elements work even when a left side element has specifiers.
3479
3480         Test: fast/dom/shadow/distributed-pseudo-element-specifiers-in-left-side.html
3481
3482         * css/CSSParser.cpp:
3483         (WebCore::CSSParser::rewriteSpecifiersWithNamespaceIfNeeded):
3484         Make it call rewriteSpecifiersForShadowDistributed() if required.
3485
3486         (WebCore::CSSParser::rewriteSpecifiersWithElementName):
3487         Updated so that it can generate a correct chain of
3488         CSSParserSelectors even when '::distributed()' is used with an
3489         element, which might be empty, with specifiers.
3490
3491         e.g. When parsing a selector of 'content.content-class::-webkit-distributed(div)', the following happens:
3492
3493         1. rewriteSpecifiersWithElementName(...) is called with:
3494
3495            elementName is: "content"
3496            specifiers is: [.content-class] -> [::-webkit-distributed]
3497
3498         2. Looking for a distributed pseudo element in the specifiers and
3499            found it at the end of tagHistory chain of the specifiers.
3500
3501         3. The result of calling specifiers->prependTagSelector(tag) is:
3502
3503            specifiers is: [content] -> [.content-class] -> [::-webkit-distributed]
3504
3505         4. rewriteSpecifiersForShadowDistributed() is called with:
3506
3507            specifiers is: [content] -> [.content-class] -> [::-webkit-distributed]
3508            distributedPseudoElementSelector is: [::-webkit-distributed]
3509
3510         5. An argumentSelector of the distributedPseudoElementSelector is:
3511
3512            argumentSelector is: [div]
3513
3514         6. Remove the distributed pseudo element selector from the specifiers.
3515
3516            specifiers is: [content] -> [.content-class]
3517
3518            Note that one pseudo-element may appear per complex selector
3519            and the pseudo-element may appear only if the subject of the
3520            selector is the last compound selector in the selector.
3521
3522         7. Append specifiers to the end of the argument selector with a relation of ShadowDistributed:
3523
3524            argumentSelector is: [div] -(ShadowDistributed)-> [content] -> [.content-class]
3525
3526         8. Returns the argument selector as a return value.
3527
3528         (WebCore::CSSParser::rewriteSpecifiersForShadowDistributed): As explained.
3529         * css/CSSParserValues.cpp:
3530         (WebCore):
3531         (WebCore::CSSParserSelector::findDistributedPseudoElementSelector):
3532         * css/CSSParserValues.h:
3533         (CSSParserSelector):
3534         (WebCore::CSSParserSelector::clearTagHistory):
3535
3536 2013-03-14  Takashi Sakamoto  <tasak@google.com>
3537
3538         Crash at CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement reported by fuzzer
3539         https://bugs.webkit.org/show_bug.cgi?id=112328
3540
3541         Reviewed by Dimitri Glazkov.
3542
3543         ensureDefaultStyleSheets should check whether page() is null or not.
3544
3545         Test: fast/css/ensure-default-style-sheets-crash.xhtml
3546
3547         * css/CSSDefaultStyleSheets.cpp:
3548         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
3549
3550 2013-03-14  Brandon Jones  <bajones@google.com>
3551
3552         Check to ensure MultisampleRenderbuffer creation succeeds
3553         https://bugs.webkit.org/show_bug.cgi?id=111780
3554
3555         Reviewed by Kenneth Russell.
3556
3557         On OSX systems using AMD graphics chips the allocation of large
3558         Multisample Renderbuffers in Chromium would fail without any indication
3559         of failure. Attempting to draw to the buffer resulted in garbage being
3560         rendered onscreen. This could be reproduced by opening a full-page
3561         WebGL app and pressing (Command + "-") several times. This patch adds an
3562         additional check during DrawingBuffer resize to verify that the resized
3563         buffer is valid. 
3564
3565         * platform/graphics/gpu/DrawingBuffer.cpp:
3566         (WebCore):
3567         (WebCore::DrawingBuffer::checkBufferIntegrity):
3568         (WebCore::DrawingBuffer::reset):
3569         * platform/graphics/gpu/DrawingBuffer.h:
3570         (DrawingBuffer):
3571
3572 2013-03-14  Enrica Casucci  <enrica@apple.com>
3573
3574         Character orientation should follow UTR50 specs for vertical layout.
3575         https://bugs.webkit.org/show_bug.cgi?id=112213
3576         <rdar://problem/12880943>
3577
3578         Reviewed by Ryosuke Niwa.
3579
3580         platform/mac/fast/text/vertical-no-sideways.html: Modified to cover samples
3581         of the additional character ranges that should not be rotated in vertical layout.
3582         Added pixel results.
3583
3584         This patch modifies shouldIgnoreRotation to include all the characters that
3585         should not be rotated sideways in vertical layout according to the UTR50 draft 6
3586         specifications. It also fixes rotation for Emojii.
3587
3588         * platform/graphics/FontFastPath.cpp:
3589         (WebCore::shouldIgnoreRotation):
3590         (WebCore::isInRange): Added.
3591         * platform/graphics/mac/FontMac.mm:
3592         (WebCore::showGlyphsWithAdvances): Adds the proper transforms to ensure
3593         Emojii also are drawn correctly upright.
3594
3595 2013-03-14  Manuel Rego Casasnovas  <rego@igalia.com>
3596
3597         Add selectTrailingWhitespaceEnabled setting to WebCore::Page
3598         https://bugs.webkit.org/show_bug.cgi?id=109404
3599
3600         Reviewed by Tony Chang.
3601
3602         Covered by
3603         editing/selection/doubleclick-inline-first-last-contenteditable.html.
3604
3605         * page/Settings.cpp:
3606         (WebCore): Configure default value for smartInsertDeleteEnabled and
3607         selectTrailingWhitespaceEnabled seetings as they are different in
3608         Chromium port depending on the OS.
3609         * page/Settings.in: Add new setting.
3610
3611 2013-03-14  Robert Flack  <flackr@chromium.org>
3612
3613         [chromium] Short scrollbar has empty track rect even when buttons have no size.
3614         https://bugs.webkit.org/show_bug.cgi?id=102580
3615
3616         Reviewed by James Robinson.
3617
3618         When computing the scrollbar track rect, don't assume the button's height is the track width.
3619
3620         Test: platform/chromium/scrollbars/short-scrollbar.html
3621         Note however that this doesn't expose the bug on any tested platforms and mock scrollbars
3622         don't use ScrollbarThemeChromium.cpp. Manually running this test on linux chromiumos will
3623         show the now present scrollbar track and thumb.
3624
3625         * platform/chromium/ScrollbarThemeChromium.cpp:
3626         (WebCore::ScrollbarThemeChromium::trackRect):
3627
3628 2013-03-14  Andrey Lushnikov  <lushnikov@chromium.org>
3629
3630         Web Inspector: Show syntax highlight for application/javascript in Resource Preview tab
3631         https://bugs.webkit.org/show_bug.cgi?id=112355
3632
3633         Reviewed by Pavel Feldman.
3634
3635         No new tests.
3636
3637         Return canonical mimeType in requestContent method of
3638         NetworkRequest.js
3639
3640         * inspector/front-end/NetworkRequest.js:
3641         (WebInspector.NetworkRequest.prototype.requestContent):
3642
3643 2013-03-14  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
3644
3645         [EFL] Use CROSS_PLATFORM_CONTEXT_MENU
3646         https://bugs.webkit.org/show_bug.cgi?id=111877
3647
3648         Reviewed by Caio Marcelo de Oliveira Filho.
3649
3650         Now EFL uses the CROSS_PLATFORM_CONTEXT_MENUS
3651         USE flag. This flag provides a full cross-platform
3652         representation of a ContextMenu and a ContextMenuItem.
3653         The embedder can then decide how to show this and neither
3654         WebCore nor WebCore/platform need to know any platform
3655         specific code about the menus, even though they could.
3656
3657         No new tests needed, no behavior changes.
3658
3659         * platform/ContextMenu.h:
3660         (ContextMenu):
3661         * platform/ContextMenuItem.h:
3662         (WebCore):
3663         * platform/PlatformMenuDescription.h:
3664         (WebCore):
3665         * platform/efl/ContextMenuEfl.cpp:
3666         (WebCore::ContextMenu::ContextMenu):
3667         (WebCore::ContextMenu::getContextMenuItems):
3668         (WebCore::ContextMenu::createPlatformContextMenuFromItems):
3669         (WebCore::ContextMenu::platformContextMenu):
3670         * platform/efl/ContextMenuItemEfl.cpp:
3671         (WebCore::ContextMenuItem::platformContextMenuItem):
3672
3673 2013-03-14  Julien Chaffraix  <jchaffraix@webkit.org>
3674
3675         [CSS Grid Layout] resolveContentBasedTrackSizingFunctions should iterate over the grid items not the grid tracks
3676         https://bugs.webkit.org/show_bug.cgi?id=112299
3677
3678         Reviewed by Tony Chang.
3679
3680         Our initial implementation would iterate over the grid tracks. This was equivalent as no items were spanning but
3681         once grid items spans, they start to contribute to several grid tracks differently. This change aligns our code
3682         with what the specification does.
3683
3684         One upside of doing a grid items' iteration is that the complexity should be better in all cases as we don't do
3685         a full grid walking (which is potentially quadratic), only some extra grid tracks' iteration (which are linear).
3686
3687         Refactoring, there should be no change in behavior.
3688
3689         * rendering/RenderGrid.cpp:
3690         (WebCore::RenderGrid::computedUsedBreadthOfGridTracks):
3691         Moved the |availableLogicalSpace| update into resolveContentBasedTrackSizingFunctions. This simplifies and consolidate our handling.
3692
3693         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
3694         Updated the core loop to iterator over grid items and not grid tracks. This idea is that now resolveContentBasedTrackSizingFunctionsForItems
3695         uses a filtering function to only process the appropriate grid tracks.
3696
3697         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
3698         Updated to filter the grid tracks here (this matches the |TracksForGrowth| spec logic that is merely a filtering function).
3699
3700         * rendering/RenderGrid.h:
3701         Added a new typedef and updated resolveContentBasedTrackSizingFunctionsForItems to use it.
3702
3703         * rendering/style/GridTrackSize.h:
3704         (WebCore::GridTrackSize::hasMinOrMaxContentMinTrackBreadth):
3705         (WebCore::GridTrackSize::hasMaxContentMinTrackBreadth):
3706         (WebCore::GridTrackSize::hasMinOrMaxContentMaxTrackBreadth):
3707         (WebCore::GridTrackSize::hasMaxContentMaxTrackBreadth):
3708         Added the following filtering function, which matches the values from |TracksForGrowth| in the specification.
3709
3710 2013-03-14  Alberto Garcia  <agarcia@igalia.com>
3711
3712         [BlackBerry] Gradient: don't use the default setPlatformGradientSpaceTransform()
3713         https://bugs.webkit.org/show_bug.cgi?id=112246
3714
3715         Reviewed by Xan Lopez.
3716
3717         BlackBerry has its own implementation.
3718
3719         * platform/graphics/Gradient.cpp:
3720         (WebCore):
3721
3722 2013-03-14  Xabier Rodriguez Calvar  <calvaris@igalia.com>
3723
3724         [GStreamer] simulateAudioInterruption needs to be guarded by ENABLE(VIDEO)"
3725         https://bugs.webkit.org/show_bug.cgi?id=112358
3726
3727         Guarded with ENABLE(VIDEO) to prevent problems when it is not
3728         enabled.
3729
3730         Reviewed by Philippe Normand.
3731
3732 2013-03-12  Florin Malita  <fmalita@chromium.org>
3733
3734         Tighten up the type bounds for SVGPropertyInfo callback parameters
3735         https://bugs.webkit.org/show_bug.cgi?id=111786
3736
3737         Reviewed by Philip Rogers.
3738
3739         Update SVGPropertyInfo's callbacks to pass SVGElement* parameters instead of void*. This
3740         allows us to perform some ASSERT-based type checking before downcasting in implementors.
3741
3742         To avoid adding virtual methods unused in release builds to the base class (and overrides
3743         in descendants), for subtypes lacking polymorphic type markers (isXXX()) the check is
3744         performed using hasTagName() instead.
3745
3746         The patch is also removing the lookupOrCreateWrapperForAnimatedProperty() SVGPropertyInfo
3747         callback for SVGViewSpec properties, because
3748
3749           a) it doesn't appear to be reachable (SVGViewSpec doesn't have a backing element and
3750           thus cannot have an associated animator)
3751
3752           b) it interferes with the parameter specialization described above (SVGViewSpec does not
3753           inherit from SVGElement)
3754
3755         No new tests, refactoring only.
3756
3757         * svg/SVGElement.cpp:
3758         (WebCore::SVGElement::synchronizeRequiredFeatures):
3759         (WebCore::SVGElement::synchronizeRequiredExtensions):
3760         (WebCore::SVGElement::synchronizeSystemLanguage):
3761         * svg/SVGElement.h:
3762         (SVGElement):
3763         * svg/SVGMarkerElement.cpp:
3764         (WebCore::SVGMarkerElement::synchronizeOrientType):
3765         (WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper):
3766         * svg/SVGMarkerElement.h:
3767         (SVGMarkerElement):
3768         (WebCore::toSVGMarkerElement):
3769         (WebCore):
3770         * svg/SVGPathElement.cpp:
3771         (WebCore::SVGPathElement::lookupOrCreateDWrapper):
3772         (WebCore::SVGPathElement::synchronizeD):
3773         * svg/SVGPathElement.h:
3774         (SVGPathElement):
3775         (WebCore::toSVGPathElement):
3776         (WebCore):
3777         * svg/SVGPolyElement.cpp:
3778         (WebCore::SVGPolyElement::synchronizePoints):
3779         (WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
3780         * svg/SVGPolyElement.h:
3781         (SVGPolyElement):
3782         (WebCore::toSVGPolyElement):
3783         (WebCore):
3784         * svg/SVGTextContentElement.cpp:
3785         (WebCore::SVGTextContentElement::synchronizeTextLength):
3786         (WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
3787         * svg/SVGTextContentElement.h:
3788         (SVGTextContentElement):
3789         (WebCore::toSVGTextContentElement):
3790         (WebCore):
3791         Change SVGPropertyInfo callback params to SVGElement* and replace static casts with
3792         conversion wrappers. Implement conversion wrappers where needed.
3793
3794         * svg/SVGViewSpec.cpp:
3795         (WebCore::SVGViewSpec::viewBoxPropertyInfo):
3796         (WebCore::SVGViewSpec::preserveAspectRatioPropertyInfo):
3797         (WebCore::SVGViewSpec::transformPropertyInfo):
3798         (WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper):
3799         (WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper):
3800         (WebCore::SVGViewSpec::lookupOrCreateTransformWrapper):
3801         * svg/SVGViewSpec.h:
3802         (SVGViewSpec):
3803         Remove SVGPropertyInfo-based lookupOrCreate* callbacks and updated the methods' parameters
3804         to SVGViewSpec*. Remove now-unneeded casts.
3805
3806         * svg/properties/SVGAnimatedPropertyMacros.h:
3807         (WebCore):
3808         * svg/properties/SVGPropertyInfo.h:
3809         (WebCore):
3810         (SVGPropertyInfo):
3811         Update callback declarations.
3812
3813 2013-03-14  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
3814
3815         Move platform-specific typedefs to PlatformMenuDescription.h
3816         https://bugs.webkit.org/show_bug.cgi?id=111876
3817
3818         Reviewed by Caio Marcelo de Oliveira Filho.
3819
3820         Cross platform Context Menu platform-specific typedefs fit better
3821         in PlatformMenuDescription.h and should not be part of the classes
3822         ContextMenu and ContextMenuItem. We have also renamed them to
3823         PlatformContextMenu and PlatformContextMenuItem instead of NativeMenu
3824         and NativeMenuItem respectively.
3825
3826         No new tests needed since no behavior has changed.
3827
3828         * platform/ContextMenu.h:
3829         (ContextMenu):
3830         * platform/ContextMenuItem.h:
3831         (ContextMenuItem):
3832         * platform/PlatformMenuDescription.h:
3833         (WebCore):
3834         * platform/efl/ContextMenuEfl.cpp:
3835         (WebCore::ContextMenu::createPlatformContextMenuFromItems):
3836         (WebCore::ContextMenu::platformContextMenu):
3837         * platform/efl/ContextMenuItemEfl.cpp:
3838         (WebCore::ContextMenuItem::platformContextMenuItem):
3839         * platform/win/ContextMenuItemWin.cpp:
3840         (WebCore):
3841         (WebCore::ContextMenuItem::platformContextMenuItem):
3842         * platform/win/ContextMenuWin.cpp:
3843         (WebCore::ContextMenu::createPlatformContextMenuFromItems):
3844         (WebCore::ContextMenu::platformContextMenu):
3845
3846 2013-03-11  Jer Noble  <jer.noble@apple.com>
3847
3848         Crash in DumpRenderTree at com.apple.WebCore: WebCore::CaptionUserPreferences::captionPreferencesChanged + 185
3849         https://bugs.webkit.org/show_bug.cgi?id=112051
3850
3851         Reviewed by Eric Carlson.
3852
3853         No new tests; fixes a crash during media/video-controls-captions-trackmenu.html.
3854
3855         Instead of relying on a registration system which can fail when an element's document does not have a page,
3856         Elements will register for captionPreferencesChanged() notifications directly with their owning Document.
3857         CaptionUserPreferences, in turn, will notify all Documents in its PageGroup, rather than only directly
3858         registered listeners.
3859
3860         * dom/Document.cpp:
3861         (WebCore::Document::registerForCaptionPreferencesChangedCallbacks): Added. Notify the CaptionUserPreferences that someone
3862             is interested in captionPreferencesChanged notfications.
3863         (WebCore::Document::unregisterForCaptionPreferencesChangedCallbacks): Added.
3864         (WebCore::Document::captionPreferencesChanged): Added. Pass to all registered elements.
3865         * dom/Document.h:
3866         * dom/Element.h:
3867         (WebCore::Element::captionPreferencesChanged): Added. Empty; intended
3868             to be overridden by subclasses.
3869         * history/CachedPage.cpp:
3870         (WebCore::CachedPage::CachedPage): Initialize m_needsCaptionPreferenceChanged member.
3871         (WebCore::CachedPage::restore): Call captionPreferencesChanged() if necessary.
3872         * history/CachedPage.h:
3873         (WebCore::CachedPage::markForCaptionPreferencesChanged): Set the m_needsCaptionPreferenceChanged member.
3874         * history/PageCache.cpp:
3875         (WebCore::PageCache::markPagesForCaptionPreferencesChanged): Pass to every CachedPage.
3876         * history/PageCache.h:
3877         * html/HTMLMediaElement.cpp:
3878         (WebCore::HTMLMediaElement::HTMLMediaElement): Register with the Document.
3879         (WebCore::HTMLMediaElement::~HTMLMediaElement): Unregister with same.
3880         (WebCore::HTMLMediaElement::attach): Remove previous registration call.
3881         * html/HTMLMediaElement.h:
3882         * page/CaptionUserPreferences.cpp:
3883         (WebCore::CaptionUserPreferences::captionPreferencesChanged): Pass to the
3884             PageGroup.
3885         * page/CaptionUserPreferences.h:
3886         (WebCore::CaptionUserPreferences::setInterestedInCaptionPreferenceChanges):
3887             Empty; intended to be overridden by subclasses.
3888         * page/CaptionUserPreferencesMac.h:
3889         * page/CaptionUserPreferencesMac.mm:
3890         (WebCore::CaptionUserPreferencesMac::setInterestedInCaptionPreferenceChanges):
3891             Renamed from registerForPreferencesChangedCallbacks().
3892         (WebCore::CaptionUserPreferencesMac::captionPreferencesChanged):
3893             Replace call to havePreferenceChangeListeners() with m_listeningForPreferenceChanges.
3894         * page/Page.cpp:
3895         (WebCore::Page::captionPreferencesChanged):
3896             Pass to every contained Document.
3897         * page/Page.h:
3898         * page/CaptionUserPreferences.cpp:
3899         (WebCore::CaptionUserPreferences::captionPreferencesChanged): Pass to the PageGroup.
3900         * page/CaptionUserPreferences.h:
3901         * page/PageGroup.cpp:
3902         (WebCore::PageGroup::captionPreferencesChanged): Pass to every page, as well as pages in the PageCache.
3903         * page/PageGroup.h:
3904
3905 2013-03-14  David Grogan  <dgrogan@chromium.org>
3906
3907         IndexedDB: Histogram leveldb open errors.
3908         https://bugs.webkit.org/show_bug.cgi?id=112307
3909
3910         Reviewed by Tony Chang.
3911
3912         No new tests, I don't know if there's a good way to test histograms.
3913
3914         * platform/leveldb/LevelDBDatabase.cpp:
3915         (WebCore::LevelDBDatabase::open):
3916
3917 2013-03-14  Robert Hogan  <robert@webkit.org>
3918
3919         REGRESSION(r145305) Performance: 1.3% mac-release-10.6-webkit-latest/intl2/times/t change after rev 145300
3920         https://bugs.webkit.org/show_bug.cgi?id=112125
3921
3922         Reviewed by Julien Chaffraix.
3923
3924         When detecting cases where a loaded image may need to move up into the padding created by the row's baseline
3925         we don't need to do anything if the row doesn't have a baseline yet.
3926
3927         * rendering/RenderTableCell.cpp:
3928         (WebCore::RenderTableCell::layout):
3929
3930 2013-03-14  Brady Eidson  <beidson@apple.com>
3931
3932         Add a mode to ResourceLoader that takes SharedBuffers instead of raw pointers and lengths.
3933         <rdar://problem/13416953> and https://bugs.webkit.org/show_bug.cgi?id=112310
3934
3935         Reviewed by Andy Estes.
3936
3937         No new tests (No independently testable change in behavior).
3938
3939         Many of the tested platforms deliver data buffers to their ResourceHandles from objects
3940         that encapsulate a data buffer such as NSData (Mac), CFDataRef (CF), or QByteArray (qt).
3941
3942         If those platforms also augmented SharedBuffer to wrap their native object (which Mac/CF do)
3943         and there existed ResourceLoader callbacks to take that SharedBuffer instead of char* + length,
3944         then many resource loads could avoid a useless copy.
3945
3946         At least on Mac, there are some extremely important behind-the-scenes optimizations for NS/CFData
3947         that will be a more important win than simply avoiding a copy.
3948
3949         This patch adds that SharedBuffer-based callback with the hope that all platforms could find a 
3950         way to use a buffer-encapsulating object going forward, and we could therefore deprecate the
3951         char* + length version of didReceiveData.
3952
3953         * platform/network/ResourceHandleClient.h:
3954         (WebCore::ResourceHandleClient::didReceiveBuffer): Add a didReceiveBuffer callback that takes 
3955           a SharedBuffer object. The default implementation passes raw bytes + length to didReceiveData.
3956
3957         * loader/ResourceLoader.cpp:
3958         (WebCore::ResourceLoader::addDataOrBuffer): Replacing addData(), optionally adding the data from
3959           either a data+length or SharedBuffer
3960         (WebCore::ResourceLoader::didReceiveData): Pipe to didReceiveDataOrBuffer.
3961         (WebCore::ResourceLoader::didReceiveBuffer): Pipe to didReceiveDataOrBuffer.
3962         (WebCore::ResourceLoader::didReceiveDataOrBuffer): Single chokepoint for receiving data.
3963         * loader/ResourceLoader.h: Add OVERRIDE to all of the ResourceHandleClient methods to help
3964           catch future mistakes. Remove "virtual" from methods that didn't need it. Make "addData" into
3965           "addDataOrBuffer" and make it private.
3966
3967         * loader/NetscapePlugInStreamLoader.cpp:
3968         (WebCore::NetscapePlugInStreamLoader::didReceiveData): Pipe to didReceiveDataOrBuffer.
3969         (WebCore::NetscapePlugInStreamLoader::didReceiveBuffer): Pipe to didReceiveDataOrBuffer.
3970         (WebCore::NetscapePlugInStreamLoader::didReceiveDataOrBuffer): Single chokepoint for receiving data.
3971         * loader/NetscapePlugInStreamLoader.h:
3972
3973         * loader/SubresourceLoader.cpp:
3974         (WebCore::SubresourceLoader::didReceiveData): Pipe to didReceiveDataOrBuffer.
3975         (WebCore::SubresourceLoader::didReceiveBuffer): Pipe to didReceiveDataOrBuffer.
3976         (WebCore::SubresourceLoader::didReceiveDataOrBuffer): Single chokepoint for receiving data. Also,
3977           rely on ResourceLoader's base implementation for notifying the ResourceLoadNotifier.
3978         * loader/SubresourceLoader.h:
3979
3980         * loader/ResourceBuffer.cpp:
3981         (WebCore::ResourceBuffer::append): Add a mode that appends a SharedBuffer.
3982         * loader/ResourceBuffer.h:
3983
3984         * platform/cf/SharedBufferCF.cpp:
3985         (WebCore::SharedBuffer::maybeTransferPlatformData): Fix a bug where appending data to a CFData-backed
3986           SharedBuffer would re-enter maybeTransferPlatformData and blow out the stack.
3987
3988         * platform/network/mac/ResourceHandleMac.mm:
3989         (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]): Send a wrapped NSData
3990           to didReceiveBuffer() instead of sending its char* and length to didReceiveData()
3991
3992 2013-03-14  Yury Semikhatsky  <yurys@chromium.org>
3993
3994         Web Inspector: nuke bottom up CPU profile calculation on backend
3995         https://bugs.webkit.org/show_bug.cgi?id=112351
3996
3997         Reviewed by Pavel Feldman.
3998