XSSAuditor should strip formaction attributes from input and button elements.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-28  Mike West  <mkwst@chromium.org>
2
3         XSSAuditor should strip formaction attributes from input and button elements.
4         https://bugs.webkit.org/show_bug.cgi?id=110975
5
6         Reviewed by Daniel Bates.
7
8         The 'formaction' attribute of 'input' and 'button' elements is just as
9         dangerous as the 'action' attribute of 'form' elements. This patch
10         teaches the XSSAuditor how to avoid them.
11
12         Tests: http/tests/security/xssAuditor/formaction-on-button.html
13                http/tests/security/xssAuditor/formaction-on-input.html
14
15         * html/parser/XSSAuditor.cpp:
16         (WebCore::XSSAuditor::filterStartToken):
17         (WebCore::XSSAuditor::filterInputToken): Added.
18         (WebCore::XSSAuditor::filterButtonToken): Added.
19         * html/parser/XSSAuditor.h:
20             Create filters for 'input' and 'button' elements, which currently
21             only have the effect of filtering the 'formaction' attribute.
22
23 2013-02-28  Allan Sandfeld Jensen  <allan.jensen@digia.com>
24
25         REGRESSION(r144169): It broke clipping
26         https://bugs.webkit.org/show_bug.cgi?id=111065
27
28         Reviewed by Noam Rosenthal.
29
30         The clipstack was not marked dirty when new clips were added
31         leading to clipping never being applied.
32
33         * platform/graphics/texmap/TextureMapperGL.cpp:
34         (WebCore::TextureMapperGL::ClipStack::push):
35
36 2013-02-28  Tamas Czene  <tczene@inf.u-szeged.hu>
37
38         OpenCL implementation of FEImage SVG Filter.
39         https://bugs.webkit.org/show_bug.cgi?id=110752
40
41         Reviewed by Zoltan Herczeg.
42
43         The result of the image is uploaded to an OpenCL buffer.
44
45         * Target.pri:
46         * platform/graphics/gpu/opencl/OpenCLFEImage.cpp: Added.
47         (WebCore):
48         (WebCore::FEImage::platformApplyOpenCL):
49         * svg/graphics/filters/SVGFEImage.h:
50         (FEImage):
51
52 2013-02-28  Mike West  <mkwst@chromium.org>
53
54         Web Inspector: Make it obvious where command line functions come from
55         https://bugs.webkit.org/show_bug.cgi?id=62367
56
57         Reviewed by Pavel Feldman.
58
59         This patch adds a custom .toString() method on the various command-line
60         API methods that are bound in the inspector. Rather than dumping the
61         function text, we now model the response after that of native methods:
62         "function __() { [Command Line API] }".
63
64         Test: inspector/console/console-native-function-to-string.html
65
66         * inspector/InjectedScriptSource.js:
67             Added a function to the CommandLineAPI constructor that creates a
68             custom toString() method for each command-line API method.
69
70 2013-02-28  David Kilzer  <ddkilzer@apple.com>
71
72         ResourceRequestCFNet.cpp won't compile after r144216
73         <http://webkit.org/b/111034>
74
75         Reviewed by Alexey Proskuryakov.
76
77         * WebCore.exp.in: Move Mac-only symbol into !PLATFORM(IOS)
78         section.  Update iOS-only symbol to add argument.
79         * platform/network/cf/ResourceRequest.h: Remove unused method
80         declaration.
81         * platform/network/cf/ResourceRequestCFNet.cpp:
82         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody): Fix typos.
83         Add static_cast<CFStringRef>().
84         (WebCore::ResourceRequest::doUpdateResourceHTTPBody): Fix another
85         typo.
86
87 2013-02-28  Kent Tamura  <tkent@chromium.org>
88
89         Unreviewed, rolling out r144184.
90         http://trac.webkit.org/changeset/144184
91         https://bugs.webkit.org/show_bug.cgi?id=110974
92
93         The change didn't fix all of the problems.
94
95         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
96         * html/BaseMultipleFieldsDateAndTimeInputType.h:
97         (BaseMultipleFieldsDateAndTimeInputType):
98
99 2013-02-27  Eugene Klyuchnikov  <eustas@chromium.org>
100
101         Web Inspector: [Protocol] Genarate JS enum definitions.
102         https://bugs.webkit.org/show_bug.cgi?id=110461
103
104         Reviewed by Pavel Feldman.
105
106         Generating corresponding type annotations
107         would help to compiler to point errors.
108
109         * inspector/CodeGeneratorInspector.py: Generate "registerEnum" records.
110         * inspector/InjectedScriptSource.js: Shadow compiler warning.
111         * inspector/front-end/InspectorBackend.js:
112         Added "registerEnum". Added "registerEnum" generation.
113         * inspector/front-end/NetworkManager.js: Use enum instead of literal.
114         * inspector/generate_protocol_externs.py: Generate enum typedefs.
115
116 2013-02-27  Kunihiko Sakamoto  <ksakamoto@chromium.org>
117
118         INPUT_MULTIPLE_FIELDS_UI: Step-up/-down of hour field should respect min/max attributes
119         https://bugs.webkit.org/show_bug.cgi?id=109555
120
121         Reviewed by Kent Tamura.
122
123         Make step-up/-down of the hour field respect the min/max attributes of the element.
124         Note that it still accepts any keyboard inputs (the element
125         becomes 'invalid' state when out-of-range values entered).
126         Also, disable the hour field and/or the AMPM field when there is only single possible value.
127
128         Test: fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-readonly-subfield.html
129               fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-stepup-stepdown-from-renderer.html
130               fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield.html
131               fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html
132
133         * html/TimeInputType.cpp:
134         (WebCore::TimeInputType::setupLayoutParameters): Populates layoutParameters.{minimum,maximum}.
135         * html/shadow/DateTimeEditElement.cpp:
136         (DateTimeEditBuilder): Add data fields for min/max of day and hour fields.
137         (WebCore::DateTimeEditBuilder::DateTimeEditBuilder): Set newly added data members.
138         (WebCore::DateTimeEditBuilder::visitField): Pass minimum/maximum value to the month field constructors.
139         (WebCore::DateTimeEditBuilder::shouldAMPMFieldDisabled): Added.
140         (WebCore::DateTimeEditBuilder::shouldDayOfMonthFieldDisabled):
141         (WebCore::DateTimeEditBuilder::shouldHourFieldDisabled):
142         Disables the hour field when min, max, and value have the same hour, except when the minute
143         field is disabled (by step attribute), because we need to leave at least one field editable.
144         * html/shadow/DateTimeFieldElements.cpp:
145         (WebCore::DateTimeHourFieldElementBase::DateTimeHourFieldElementBase):
146         (WebCore::DateTimeHourFieldElementBase::initialize):
147         (WebCore::DateTimeHourFieldElementBase::setValueAsDate):
148         (WebCore::DateTimeHourFieldElementBase::setValueAsDateTimeFieldsState):
149         (WebCore::DateTimeHour11FieldElement::DateTimeHour11FieldElement):
150         (WebCore::DateTimeHour11FieldElement::create):
151         (WebCore::DateTimeHour11FieldElement::populateDateTimeFieldsState):
152         (WebCore::DateTimeHour11FieldElement::setValueAsInteger):
153         (WebCore::DateTimeHour11FieldElement::clampValueForHardLimits):
154         (WebCore::DateTimeHour12FieldElement::DateTimeHour12FieldElement):
155         (WebCore::DateTimeHour12FieldElement::create):
156         (WebCore::DateTimeHour12FieldElement::populateDateTimeFieldsState):
157         (WebCore::DateTimeHour12FieldElement::setValueAsInteger):
158         (WebCore::DateTimeHour12FieldElement::clampValueForHardLimits):
159         (WebCore::DateTimeHour23FieldElement::DateTimeHour23FieldElement):
160         (WebCore::DateTimeHour23FieldElement::create):
161         (WebCore::DateTimeHour23FieldElement::populateDateTimeFieldsState):
162         (WebCore::DateTimeHour23FieldElement::setValueAsInteger):
163         (WebCore::DateTimeHour23FieldElement::clampValueForHardLimits):
164         (WebCore::DateTimeHour24FieldElement::DateTimeHour24FieldElement):
165         (WebCore::DateTimeHour24FieldElement::create):
166         (WebCore::DateTimeHour24FieldElement::populateDateTimeFieldsState):
167         (WebCore::DateTimeHour24FieldElement::setValueAsInteger):
168         (WebCore::DateTimeHour24FieldElement::clampValueForHardLimits):
169         * html/shadow/DateTimeFieldElements.h: Splitted DateTimeHourFieldElement into a base class and four derived classes that represents different hour formats.
170         (DateTimeHourFieldElementBase): Added.
171         (DateTimeHour11FieldElement): Added. Represents 0-11 hour format.
172         (DateTimeHour12FieldElement): Added. Represents 1-12 hour format.
173         (DateTimeHour23FieldElement): Added. Represents 0-23 hour format.
174         (DateTimeHour24FieldElement): Added. Represents 1-24 hour format.
175
176 2013-02-27  Tien-Ren Chen  <trchen@chromium.org>
177
178         Need to re-layout fixed position elements after scale when using settings()->fixedElementsLayoutRelativeToFrame()
179         https://bugs.webkit.org/show_bug.cgi?id=105486
180
181         Reviewed by James Robinson.
182
183         In settings()->fixedElementsLayoutRelativeToFrame() mode, fixed-position
184         elements are layout relative to the current visible viewport, which can
185         be different from the layout viewport when using fixed-layout mode.
186         We need to re-layout fixed-position elements in case of visible content
187         size changes.
188
189         The test is currently chromium-specific due to difficulties to make this
190         test works on Mac. The mac port seems to work very differently with
191         visible content size when a page is scaled. And there is no reliable way
192         to hide scrollbars in mac-wk1 that doesn't cause a side effect.
193
194         Test: platform/chromium/fast/repaint/relayout-fixed-position-after-scale.html
195
196         * page/FrameView.h:
197         (FrameView):
198         * page/Page.cpp:
199         (WebCore::Page::setPageScaleFactor):
200
201 2013-02-27  Hans Muller  <hmuller@adobe.com>
202
203         [CSS Exclusions] Enable shape-inside rectangle support for shape-padding
204         https://bugs.webkit.org/show_bug.cgi?id=110500
205
206         Reviewed by Dirk Schulze.
207
208         Added support for CSS shape-padding for shapes defined with shape-inside.
209
210         Tests: fast/exclusions/shape-inside/shape-inside-circle-padding.html
211                fast/exclusions/shape-inside/shape-inside-ellipse-padding.html
212                fast/exclusions/shape-inside/shape-inside-rectangle-padding.html
213                fast/exclusions/shape-inside/shape-inside-rounded-rectangle-padding.html
214
215         * rendering/ExclusionRectangle.cpp:
216         (WebCore::FloatRoundedRect::paddingBounds): Inset the rounded rectangle to reflect the padding parameter.
217         (WebCore::FloatRoundedRect::marginBounds): Expand the rounded rectangle to reflect the margin parameter.
218         (WebCore::FloatRoundedRect::cornerInterceptForWidth): Moved this method from ExclusionRectangle to FloatRoundedRect.
219         (WebCore::ExclusionRectangle::shapePaddingBounds): Lazily compute the bounds of the padding box.
220         (WebCore::ExclusionRectangle::shapeMarginBounds): Lazily compute the bounds of the margin box.
221         (WebCore::ExclusionRectangle::getExcludedIntervals): This computuation is now based on the (new) margin box.
222         (WebCore::ExclusionRectangle::getIncludedIntervals): This computation is now base don the (new) padding box.
223         (WebCore::ExclusionRectangle::firstIncludedIntervalLogicalTop): This computation is now base don the (new) padding box.
224         * rendering/ExclusionRectangle.h:
225         (FloatRoundedRect): A subclass of FloatRect that includes corner radii specified as CSS shapes do.
226         (WebCore::FloatRoundedRect::FloatRoundedRect):
227         (WebCore::FloatRoundedRect::rx):
228         (WebCore::FloatRoundedRect::ry):
229         (WebCore::ExclusionRectangle::ExclusionRectangle):
230         * rendering/ExclusionShape.cpp:
231         (WebCore::ExclusionShape::createExclusionShape): Initialize the new shapeMargin and shapePadding properties.
232         * rendering/ExclusionShape.h:
233         (ExclusionShape):
234         (WebCore::ExclusionShape::shapeMargin): Added a public read-only property for shapeMargin.
235         (WebCore::ExclusionShape::shapePadding): Added a public read-only property for shapePadding.
236         * rendering/ExclusionShapeInfo.cpp:
237         (WebCore::::computedShape): Pass the values of the CSS shape-margin and shapp-padding properties to createExclusionShape().
238
239 2013-02-25  Alpha Lam  <hclam@chromium.org>
240
241         More style cleanup in GIFImageReader
242         https://bugs.webkit.org/show_bug.cgi?id=110776
243
244         Reviewed by Allan Sandfeld Jensen.
245
246         Renamed variable q to currentComponent which more accurately represent
247         the purpose.
248
249         No test. Simple refactoring.
250
251         * platform/image-decoders/gif/GIFImageReader.cpp:
252         (GIFImageReader::decodeInternal):
253
254 2013-02-27  Keishi Hattori  <keishi@webkit.org>
255
256         Add month popup for new calendar picker
257         https://bugs.webkit.org/show_bug.cgi?id=110830
258
259         Reviewed by Kent Tamura.
260
261         Adding month popup view for use in the new calendar picker (Bug 109439).
262         YearListCell will grow in height when selected to reveal the buttons for
263         selecting the month.
264
265         No new tests. Code is not used yet.
266
267         * Resources/pagepopups/calendarPicker.js:
268         (YearListCell): A row inside the month popup. Contains buttons for choosing a month.
269         (YearListCell.prototype._recycleBin):
270         (YearListCell.prototype.reset): Resets a thrown away cell for reuse at the given row.
271         (YearListCell.prototype.height):
272         (YearListCell.prototype.setHeight):
273         (YearListView): List view showing YearListCells.
274         (YearListView.prototype.onMouseOver): If the mouse is over a month button, highlights it.
275         (YearListView.prototype.onMouseOut): De-highlights the month button.
276         (YearListView.prototype.setWidth): Set scroll view width to leave space for the scroll bar.
277         (YearListView.prototype.setHeight): Sets the scroll bar height as well.
278         (YearListView.prototype._animateRow): Animates the row height to open/close the YearListCell.
279         (YearListView.prototype.onCellHeightAnimatorDidStop): Keep this._runningAnimators and this._animatingRows up to date.
280         (YearListView.prototype.onCellHeightAnimatorStep): Update the cell height and position.
281         (YearListView.prototype.onClick): If this is a click on a month button, select the month.
282         (YearListView.prototype.rowAtScrollOffset): Calculates the row currently at the given offset.
283         (YearListView.prototype.scrollOffsetForRow): Calculates the current scroll offset of the given row.
284         (YearListView.prototype.prepareNewCell): Prepares a new or recycled YearListCell.
285         (YearListView.prototype.updateCells): Updates the position of the visible cells.
286         (YearListView.prototype.deselect): Deselects a row.
287         (YearListView.prototype.deselectWithoutAnimating): Deselects a row without the closing animation.
288         (YearListView.prototype.select): Selects a row.
289         (YearListView.prototype.selectWithoutAnimating): Deselects a row without the opening animation.
290         (YearListView.prototype.buttonForMonth): Returns the month button for a given month. Returns null if the cell is not visible.
291         (YearListView.prototype.dehighlightMonth): Dehighlights the month button.
292         (YearListView.prototype.highlightMonth): Highlights the month button.
293         (YearListView.prototype.show): Call when showing the year list view. Shows the given month as highlighted.
294         (YearListView.prototype.hide): Dispatches a did hide event which will be picked up by the CalendarPicker and the MonthPopupView will close.
295         (YearListView.prototype._moveHighlightTo): Used to move the month highlight in response to a key event.
296         (YearListView.prototype.onKeyDown): Arrow keys and PageUp/PageDown keys work.
297         (MonthPopupView): The popup view to be overlayed over the calendar picker.
298         (MonthPopupView.prototype.show): Takes the initialMonth to show and the calendarTableRect so we can overlay the year list view right on top of it.
299         (MonthPopupView.prototype.hide):
300         (MonthPopupView.prototype.onClick): Hides itself if the use clicks outside the year list view.
301
302 2013-02-27  Adam Barth  <abarth@webkit.org>
303
304         Use FeatureObserver to see how often web sites use multipart main documents
305         https://bugs.webkit.org/show_bug.cgi?id=111015
306
307         Reviewed by Nate Chapin.
308
309         Multipart main documents add sigificant complexity to the loader.  It
310         would be interesting to know how often this complexity is used.
311
312         * loader/MainResourceLoader.cpp:
313         (WebCore::MainResourceLoader::responseReceived):
314         * page/FeatureObserver.h:
315
316 2013-02-27  James Simonsen  <simonjam@chromium.org>
317
318         [chromium] Lower priority of preloaded images
319         https://bugs.webkit.org/show_bug.cgi?id=110527
320
321         Reviewed by Nate Chapin.
322
323         This improves Speed Index by ~5%, because it encourages us to load images that are needed for
324         painting over speculative preloads. Ideally, all embedders would use this, but it relies on
325         ResourceHandle::didChangePriority being implemented. Currently, only Chrome does that.
326
327         Test: http/tests/loading/promote-img-preload-priority.html
328
329         * loader/FrameLoaderClient.h:
330         (FrameLoaderClient):
331         (WebCore::FrameLoaderClient::dispatchDidChangeResourcePriority): Added callback to enable testing.
332         * loader/cache/CachedResource.cpp:
333         (WebCore::CachedResource::setLoadPriority): Signal callback.
334         * loader/cache/CachedResourceLoader.cpp:
335         (WebCore::CachedResourceLoader::preload): Actual behavior change.
336
337 2013-02-27  Csaba Osztrogonác  <ossy@webkit.org>
338
339         Unreviewed trivial buildfix after r144190.
340
341         * platform/graphics/surfaces/win/GraphicsSurfaceWin.cpp:
342         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
343
344 2013-02-27  Chris Fleizach  <cfleizach@apple.com>
345
346         WebSpeech: support speech cancel
347         https://bugs.webkit.org/show_bug.cgi?id=107349
348
349         Reviewed by Beth Dakin.
350
351         Add the ability to cancel speech utterances and make it work with Mac
352         and the mock speech synthesizer.
353
354         Test: platform/mac/fast/speechsynthesis/speech-synthesis-cancel.html
355
356         * Modules/speech/SpeechSynthesis.cpp:
357         (WebCore::SpeechSynthesis::pending):
358         (WebCore::SpeechSynthesis::cancel):
359         (WebCore::SpeechSynthesis::handleSpeakingCompleted):
360         * platform/PlatformSpeechSynthesizer.h:
361         (PlatformSpeechSynthesizer):
362         * platform/mac/PlatformSpeechSynthesizerMac.mm:
363         (-[WebSpeechSynthesisWrapper cancel]):
364         (WebCore::PlatformSpeechSynthesizer::cancel):
365         (WebCore):
366         * platform/mock/PlatformSpeechSynthesizerMock.cpp:
367         (WebCore::PlatformSpeechSynthesizerMock::cancel):
368         (WebCore):
369         (WebCore::PlatformSpeechSynthesizerMock::speak):
370         * platform/mock/PlatformSpeechSynthesizerMock.h:
371         (PlatformSpeechSynthesizerMock):
372
373 2013-02-27  Min Qin  <qinmin@chromium.org>
374
375         Unlock partially decoded images after passing them to the ImageDecodingStore
376         https://bugs.webkit.org/show_bug.cgi?id=110778
377
378         Reviewed by Stephen White.
379
380         For partially decoded images, we need to unlock them so that the memory can be freed.
381         This change unlocks all the image frames after they are passed to ImageDecodingStore.
382         Unit tests are added in ImageFrameGeneratorTest.
383
384         * platform/graphics/chromium/ImageFrameGenerator.cpp:
385         (WebCore::ImageFrameGenerator::tryToResumeDecodeAndScale):
386         (WebCore::ImageFrameGenerator::tryToDecodeAndScale):
387         (WebCore::ImageFrameGenerator::decode):
388         * platform/image-decoders/ImageDecoder.h:
389         (ImageDecoder):
390         (WebCore::ImageDecoder::lockFrameBuffers):
391         (WebCore::ImageDecoder::unlockFrameBuffers):
392
393 2013-02-27  Kenneth Russell  <kbr@google.com>
394
395         Insufficient validation when uploading depth textures to WebGL
396         https://bugs.webkit.org/show_bug.cgi?id=110931
397
398         Reviewed by Abhishek Arya.
399
400         Updated webgl/conformance/extensions/webgl-depth-texture.html
401         layout test with additional test cases.
402
403         * html/canvas/WebGLRenderingContext.cpp:
404         (WebCore):
405         (WebCore::WebGLRenderingContext::texImage2D):
406         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
407         (WebCore::WebGLRenderingContext::texSubImage2D):
408             Check for valid format/type combinations, depth, and
409             depth+stencil formats when uploading HTML elements and
410             ImageData as textures.
411
412 2013-02-27  Adam Barth  <abarth@webkit.org>
413
414         Threaded HTML Parser fails fast/dom/HTMLAnchorElement/anchor-no-multiple-windows.html in debug
415         https://bugs.webkit.org/show_bug.cgi?id=110951
416
417         Reviewed by Eric Seidel.
418
419         We were triggering this ASSERT because we didn't understand that a
420         given frame might have multiple DocumentLoaders in various states. That
421         caused us to think that a DocumentLoader in the provisional state was
422         actually loading.
423
424         * dom/Document.cpp:
425         (WebCore::Document::decrementActiveParserCount):
426         * loader/DocumentLoader.cpp:
427         (WebCore::DocumentLoader::isLoading):
428
429 2013-02-27  Chris Fleizach  <cfleizach@apple.com>
430
431         AX: Mac platform should support ability to scroll an element into visible
432         https://bugs.webkit.org/show_bug.cgi?id=109860
433
434         Reviewed by Beth Dakin.
435
436         Support the scrollToMakeVisible() action for MacOS accessibility clients.
437
438         Tests: platform/mac/accessibility/scroll-to-visible-action.html
439
440         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
441         (-[WebAccessibilityObjectWrapper accessibilityActionNames]):
442         (-[WebAccessibilityObjectWrapper accessibilityScrollToVisible]):
443         (-[WebAccessibilityObjectWrapper accessibilityPerformAction:]):
444
445 2013-02-27  John Bauman  <jbauman@chromium.org>
446
447         Plugin in iframe may not display
448         https://bugs.webkit.org/show_bug.cgi?id=109879
449
450         Reviewed by Simon Fraser.
451
452         Changing the cliprect on a layer containing an iframe may change the
453         cliprect of plugins inside the iframe, so recursively tell all plugins
454         in iframes that their cliprect has changed after doing layout on the
455         outer frame.
456
457         Test: plugins/plugin-clip-subframe.html
458
459         * platform/ScrollView.cpp:
460         (WebCore::ScrollView::clipRectChanged):
461         * platform/ScrollView.h:
462         * platform/Widget.h:
463         (WebCore::Widget::clipRectChanged):
464         * plugins/PluginView.cpp:
465         (WebCore::PluginView::clipRectChanged):
466         * plugins/PluginView.h:
467         * rendering/RenderWidget.cpp:
468         (WebCore::RenderWidget::setWidgetGeometry):
469
470 2013-02-27  Chris Rogers  <crogers@google.com>
471
472         Implement channel up-mixing and down-mixing rules
473         https://bugs.webkit.org/show_bug.cgi?id=110812
474
475         Reviewed by Kenneth Russell.
476
477         Please see Web Audio specification for details of the AudioNode mixing rules attributes:
478         https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#UpMix
479
480         Test: webaudio/audionode-channel-rules.html
481
482         * Modules/webaudio/AudioNode.cpp:
483         (WebCore::AudioNode::AudioNode):
484         (WebCore::AudioNode::channelCount):
485         (WebCore):
486         (WebCore::AudioNode::setChannelCount):
487         (WebCore::AudioNode::channelCountMode):
488         (WebCore::AudioNode::setChannelCountMode):
489         (WebCore::AudioNode::channelInterpretation):
490         (WebCore::AudioNode::setChannelInterpretation):
491         (WebCore::AudioNode::updateChannelsForInputs):
492         * Modules/webaudio/AudioNode.h:
493         (AudioNode):
494         (WebCore::AudioNode::internalChannelCountMode):
495         (WebCore::AudioNode::internalChannelInterpretation):
496         * Modules/webaudio/AudioNode.idl:
497         * Modules/webaudio/AudioNodeInput.cpp:
498         (WebCore::AudioNodeInput::numberOfChannels):
499         (WebCore::AudioNodeInput::bus):
500         (WebCore::AudioNodeInput::internalSummingBus):
501         (WebCore::AudioNodeInput::sumAllConnections):
502         (WebCore::AudioNodeInput::pull):
503         * Modules/webaudio/AudioNodeInput.h:
504         (AudioNodeInput):
505         * Modules/webaudio/ConvolverNode.cpp:
506         (WebCore::ConvolverNode::ConvolverNode):
507         * Modules/webaudio/DefaultAudioDestinationNode.cpp:
508         (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
509         * Modules/webaudio/PannerNode.cpp:
510         (WebCore::PannerNode::PannerNode):
511         * platform/audio/AudioBus.cpp:
512         (WebCore::AudioBus::speakersCopyFrom):
513         (WebCore::AudioBus::speakersSumFrom):
514         (WebCore::AudioBus::speakersSumFrom5_1_ToMono):
515         (WebCore):
516         * platform/audio/AudioBus.h:
517         (AudioBus):
518
519 2013-02-27  Adam Barth  <abarth@webkit.org>
520
521         Threaded HTML parser hits ASSERTION FAILED: this == frameLoader()->activeDocumentLoader()
522         https://bugs.webkit.org/show_bug.cgi?id=110937
523
524         Reviewed by Darin Adler.
525
526         This patch restores the ASSERT behind an ifdef so that we can continue
527         to get converage from the ASSERT while we investigate why it is
528         triggering in the threaded parser.
529
530         * loader/DocumentLoader.cpp:
531         (WebCore::DocumentLoader::checkLoadComplete):
532
533 2013-02-27  Lianghui Chen  <liachen@rim.com>
534
535         [BlackBerry] User credentials is not correctly handled
536         https://bugs.webkit.org/show_bug.cgi?id=110994
537
538         Internal PR: 280990
539         Internal reviewed by Leo Yang.
540
541         Reviewed by Yong Li.
542
543         Following changes are made:
544             Remove url from generating the hash to index user credential.
545             Remove url from database.
546             Use new CertMgrWrapper API to remove password from CertMgr.
547             Handle encrypted password as binary data, instead of normal text string.
548             When authentication fails, remove the saved user credential only when they match.
549             Remove some url related API from CredentialBackingStore, as they are obsolete now.
550
551         No new tests as this is platform specific change about user credential.
552
553         * platform/network/blackberry/CredentialBackingStore.cpp:
554         (WebCore::hashCredentialInfo):
555         (WebCore::CredentialBackingStore::CredentialBackingStore):
556         (WebCore::CredentialBackingStore::~CredentialBackingStore):
557         (WebCore::CredentialBackingStore::open):
558         (WebCore::CredentialBackingStore::addLogin):
559         (WebCore::CredentialBackingStore::updateLogin):
560         (WebCore::CredentialBackingStore::hasLogin):
561         (WebCore::CredentialBackingStore::getLogin):
562         (WebCore::CredentialBackingStore::removeLogin):
563         (WebCore::CredentialBackingStore::addNeverRemember):
564         (WebCore::CredentialBackingStore::encryptedString):
565         (WebCore::CredentialBackingStore::decryptedString):
566         * platform/network/blackberry/CredentialBackingStore.h:
567         (CredentialBackingStore):
568         * platform/network/blackberry/NetworkJob.cpp:
569         (WebCore::NetworkJob::sendRequestWithCredentials):
570         (WebCore::NetworkJob::purgeCredentials):
571
572 2013-02-27  David Hyatt  <hyatt@apple.com>
573
574         Refactor transform painting/hit testing code in RenderLayer.
575         https://bugs.webkit.org/show_bug.cgi?id=110998
576
577         Reviewed by Eric Seidel.
578
579         * rendering/RenderLayer.cpp:
580         (WebCore::RenderLayer::paintLayer):
581         (WebCore::RenderLayer::paintLayerByApplyingTransform):
582         Pull the code that applies the transform for painting into a new
583         function that can also apply an additional translation offset. This
584         offset will be used by the new columns code when that patch lands.
585         
586         (WebCore::RenderLayer::createLocalTransformState):
587         Also patched to be able to apply an additional translation offset.
588
589         (WebCore::RenderLayer::hitTestLayer):
590         (WebCore::RenderLayer::hitTestLayerByApplyingTransform):
591         Same as with painting, pull the code that applies the transform into
592         its own function and also enable an extra translation offset to be
593         applied.
594         
595         * rendering/RenderLayer.h:
596         Added the new functions to the header.
597
598 2013-02-27  David Kilzer  <ddkilzer@apple.com>
599
600         Touch CSSGrammar.y.in to fix an internal buildbot
601
602         * css/CSSGrammar.y.in: Add copyright dates based on previous
603         commits.
604
605 2013-02-27  Manuel Rego Casasnovas  <rego@igalia.com>
606
607         Add smartInsertDeleteEnabled setting to WebCore::Page
608         https://bugs.webkit.org/show_bug.cgi?id=107840
609
610         Reviewed by Ryosuke Niwa.
611
612         Covered by editing/deleting/smart-editing-disabled.html.
613
614         * page/Settings.in: Add new setting with true as initial value.
615
616 2013-02-27  Chris Fleizach  <cfleizach@apple.com>
617
618         WebSpeech: Support pause/resume ability
619         https://bugs.webkit.org/show_bug.cgi?id=107345
620
621         Reviewed by Beth Dakin.
622
623         Add in the pause/resume functionality to SpeechSynthesis. Also hook up
624         the callback events.
625
626         Test: platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume.html
627
628         * Modules/speech/SpeechSynthesis.cpp:
629         (WebCore::SpeechSynthesis::SpeechSynthesis):
630         (WebCore::SpeechSynthesis::pending):
631         (WebCore::SpeechSynthesis::paused):
632         (WebCore::SpeechSynthesis::startSpeakingImmediately):
633         (WebCore::SpeechSynthesis::pause):
634         (WebCore::SpeechSynthesis::resume):
635         (WebCore):
636         (WebCore::SpeechSynthesis::didPauseSpeaking):
637         (WebCore::SpeechSynthesis::didResumeSpeaking):
638         * Modules/speech/SpeechSynthesis.h:
639         (SpeechSynthesis):
640         * platform/PlatformSpeechSynthesizer.h:
641         (PlatformSpeechSynthesizerClient):
642         (PlatformSpeechSynthesizer):
643         * platform/mac/PlatformSpeechSynthesizerMac.mm:
644         (-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
645         (-[WebSpeechSynthesisWrapper pause]):
646         (-[WebSpeechSynthesisWrapper resume]):
647         (-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
648         (WebCore::PlatformSpeechSynthesizer::pause):
649         (WebCore):
650         (WebCore::PlatformSpeechSynthesizer::resume):
651
652 2013-02-26  Alexey Proskuryakov  <ap@apple.com>
653
654         Don't add a body to platform request until necessary
655         https://bugs.webkit.org/show_bug.cgi?id=110900
656
657         Reviewed by Brady Eidson.
658
659         ResourceRequest now has more state for syncing between resource and platform parts.
660         In addition to tracking which is up to date, we also track which has up to date
661         HTTP Body.
662
663         The reason is that we don't need the body on request before it's actually sent,
664         and we actually cannot build it when networking is out of process.
665
666         * WebCore.exp.in: Updated exports.
667
668         * platform/network/ResourceRequestBase.h:
669         * platform/network/ResourceRequestBase.cpp:
670         (WebCore::ResourceRequestBase::setHTTPBody): Update HTTP body before returning it.
671         (WebCore::ResourceRequestBase::updatePlatformRequest): Update according to HTTPBodyUpdatePolicy.
672         (WebCore::ResourceRequestBase::updateResourceRequest): Ditto.
673
674         * platform/network/cf/FormDataStreamCFNet.cpp:
675         (WebCore::formDataStreamLengthPropertyName):
676         (WebCore::formCopyProperty):
677         (WebCore::setHTTPBody):
678         Changed to not update Content-Length in platform request directly. We need to keep it
679         in sync with resource request, and it's easier to do in a caller. Exposed computed
680         length as a property do avoid duplicating the work.
681
682         * platform/network/cf/FormDataStreamCFNet.h: Removed unnecessary httpBodyFromStream().
683
684         * platform/network/cf/ResourceHandleCFNet.cpp:
685         (WebCore::willSendRequest):
686         (WebCore::didReceiveResponse):
687         (WebCore::ResourceHandle::createCFURLConnection):
688         Update body when necessary.
689
690         (WebCore::ResourceRequest::nsURLRequest):
691         (WebCore::ResourceRequest::doUpdateResourceRequest):
692         (WebCore::ResourceRequest::doUpdateResourceHTTPBody):
693         (WebCore):
694         (WebCore::ResourceRequest::doUpdatePlatformRequest):
695         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
696         (WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody):
697         (WebCore::ResourceRequest::applyWebArchiveHackForMail):
698         Ditto.
699
700         * platform/network/cf/ResourceRequest.h: Track body up-to-date state.
701
702         * platform/network/cf/ResourceRequestCFNet.cpp:
703         (WebCore::ResourceRequest::cfURLRequest): Honor HTTPBodyUpdatePolicy.
704         (WebCore::ResourceRequest::doUpdatePlatformRequest): Don't update body here.
705         (WebCore::ResourceRequest::doUpdatePlatformHTTPBody): Update the body, and make sure
706         that Content-Length is correct.
707         (WebCore::ResourceRequest::doUpdateResourceRequest): Don't update body here.
708         (WebCore::ResourceRequest::doUpdateResourceHTTPBody): Update the body, fixing a bug
709         where body stream was lost if this function got called.
710         (WebCore::ResourceRequest::applyWebArchiveHackForMail): No need to update body for this one.
711
712         * platform/network/mac/ResourceRequestMac.mm: Ditto (but this didn't have a bug
713         with streams in doUpdateResourceRequest()).
714
715         * platform/network/mac/FormDataStreamMac.h: Forward declare formDataStreamLengthPropertyName().
716
717         * platform/network/mac/ResourceHandleMac.mm:
718         (WebCore::ResourceHandle::createNSURLConnection):
719         (WebCore::ResourceHandle::start):
720         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
721         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
722         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
723         Update body when necessary.
724
725         * platform/network/blackberry/ResourceRequest.h:
726         * platform/network/chromium/ResourceRequest.h:
727         * platform/network/curl/ResourceRequest.h:
728         * platform/network/qt/ResourceRequest.h:
729         * platform/network/soup/ResourceRequest.h:
730         * platform/network/win/ResourceRequest.h:
731         Added stubs for new functions. These ports don't keep a platform request in ResourceRequest,
732         and don't need updating.
733
734 2013-02-27  Glenn Adams  <glenn@skynav.com>
735
736         Add ENABLE_CSS3_TEXT_LINE_BREAK flag.
737         https://bugs.webkit.org/show_bug.cgi?id=110944
738
739         Reviewed by Dean Jackson.
740
741         No new tests.
742
743         * Configurations/FeatureDefines.xcconfig:
744
745 2013-02-27  Andrei Bucur  <abucur@adobe.com>
746
747         REGRESSION(r124739): fast/lists/list-marker-remove-crash.html hits an assertion in MoveParagraphs
748         https://bugs.webkit.org/show_bug.cgi?id=93247
749
750         Reviewed by Darin Adler.
751
752         The listifyParagraph function inside InsertListCommand triggered a layout for the new list and updated
753         only the "start" Position. The insertion and layout may have changed the "end" Position as well. The patch
754         makes sure "end" is also recomputed.
755
756         Test: No new test, the patch fixes a regression.
757
758         * editing/InsertListCommand.cpp:
759         (WebCore::InsertListCommand::listifyParagraph):
760
761 2013-02-27  Zach Kuznia  <zork@chromium.org>
762
763         Add ENABLE_STREAM guards to FileReaderLoader
764         https://bugs.webkit.org/show_bug.cgi?id=110938
765
766         Reviewed by Hajime Morrita.
767
768         * fileapi/FileReaderLoader.cpp:
769         * fileapi/FileReaderLoader.h:
770
771 2013-02-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>
772
773         Switch QtWebKit to GStreamer 1.0.
774         https://bugs.webkit.org/show_bug.cgi?id=106669.
775
776         Original patch by Sebastian Dröge.
777         Reviewed by Csaba Osztrogonác.
778
779         * WebCore.pri:
780
781 2013-02-27  Eli Fidler  <efidler@rim.com>
782
783         [BlackBerry] Fix BlackBerry::Platform::String to WTF::String conversion when the string is Latin-1-encoded.
784         https://bugs.webkit.org/show_bug.cgi?id=110986
785
786         Reviewed by Yong Li.
787
788         Internally reviewed by Nima Ghanavatian.
789         BlackBerry PR 292922
790
791         We were assuming all platform strings were valid UTF-8, which isn't true for Latin-1 strings.
792
793         * platform/text/blackberry/StringBlackBerry.cpp:
794         (WTF::String::String):
795
796 2013-02-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>
797
798         [TexMap] REGRESSION(144183): It make negative delay tests fails
799         https://bugs.webkit.org/show_bug.cgi?id=110989
800
801         Reviewed by Noam Rosenthal.
802
803         Do not apply a negative offset to the animation starttime send to the GraphicLayerClient,
804         it needs the actual animation start not a virtual start.
805
806         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
807         (WebCore::GraphicsLayerTextureMapper::addAnimation):
808
809 2013-02-27  Aaron Colwell  <acolwell@chromium.org>
810
811         Fix SourceBufferList so SourceBuffer.append() calls are always rejected after the MediaSource is closed.
812         https://bugs.webkit.org/show_bug.cgi?id=110917
813
814         Reviewed by Eric Carlson.
815
816         Test: http/tests/media/media-source/video-media-source-reject-append-after-reopening.html
817
818         * Modules/mediasource/SourceBufferList.cpp:
819         (WebCore::SourceBufferList::clear):
820
821 2013-02-27  Justin Novosad  <junov@google.com>
822
823         REGRESSION (r134631) of border-radius percentage with border pixel
824         https://bugs.webkit.org/show_bug.cgi?id=110889
825
826         Reviewed by Simon Fraser.
827
828         Fixing background color filling to handle "non renderable" rounded
829         rectangles.
830
831         Test: fast/borders/border-radius-percent.html
832
833         * rendering/RenderBoxModelObject.cpp:
834         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
835
836 2013-02-27  Florin Malita  <fmalita@chromium.org>
837
838         [Chromium] Layout Test svg/custom/transform-with-shadow-and-gradient.svg is failing
839         https://bugs.webkit.org/show_bug.cgi?id=76557
840
841         Reviewed by Stephen Chenney.
842
843         Always use kDst_Mode transfer for the shadow looper. Using kSrc_Mode to enforce CSS
844         box-shadow opaqueness at this level is not necessary since the RenderBoxModel box
845         decoration code already makes sure that shadows are filled with opaque black.
846
847         This change aligns the SVG shadow behavior (and pixel results) with CG/Safari.
848
849         No new tests, coverage provided by existing tests.
850
851         * platform/graphics/skia/GraphicsContextSkia.cpp:
852         (WebCore::GraphicsContext::setPlatformShadow):
853
854 2013-02-25  Kentaro Hara  <haraken@chromium.org>
855
856         [V8] Generate a wrapper function for ReplaceableAttrSetter()
857         https://bugs.webkit.org/show_bug.cgi?id=110781
858
859         Reviewed by Adam Barth.
860
861         This is one of steps to insert TRACE_EVENT_STATE() macros
862         into DOM bindings. This patch introduces an indirection function
863         for xxxReplaceableAttrSetter(), like this:
864
865         // For non-custom replaceable setters (Note: One implementation
866         is enough for all replaceable setters in one interface.)
867         void V8XXX:::ReplaceableAttrSetterCallback(...) {
868           V8XXX::ReplaceableAttrSetter(...);
869         }
870
871         // For custom replaceable setters. (Note: This is treated as
872         a normal custom setter.)
873         void xxxAttrSetterCallback(...) {
874           return xxxAttrSetterCustom(...);
875         }
876
877         No tests. No change in behavior.
878
879         * bindings/scripts/CodeGeneratorV8.pm:
880         (GenerateReplaceableAttrSetterCallback):
881         (GenerateReplaceableAttrSetter):
882         (GenerateSingleBatchedAttribute):
883         (GenerateImplementation):
884         * bindings/scripts/test/V8/V8TestObj.cpp:
885         (WebCore::TestObjV8Internal::TestObjReplaceableAttrSetterCallback):
886         (TestObjV8Internal):
887         (WebCore):
888         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
889         (WebCore::TestTypedefsV8Internal::TestTypedefsReplaceableAttrSetterCallback):
890         (TestTypedefsV8Internal):
891
892 2013-02-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>
893
894         [Qt] Flash objects won't load until scrolling page
895         https://bugs.webkit.org/show_bug.cgi?id=110149
896
897         Reviewed by Simon Hausmann.
898
899         Revert r134222. The issue from bug 101836 is no longer reproducable,
900         and the fix was causing flash objects to not load properly.
901
902         * plugins/PluginPackage.cpp:
903         (WebCore::PluginPackage::determineQuirks):
904
905 2013-02-27  No'am Rosenthal  <noam@webkit.org>
906
907         [Texmap] TextureMapper is too eager to use intermediate surfaces
908         https://bugs.webkit.org/show_bug.cgi?id=110762
909
910         Reviewed by Allan Sandfeld Jensen.
911
912         Refactor the way intermediate surfaces are handled in TextureMapperLayer.
913         Beforehand, we would create an intermediate surface whenever there is a chance of overlap, and
914         the intermediate surface would be the largest possible. The result would then be drawn to the
915         target surface with the layer's opacity and mask.
916
917         This would make it so that (1) surfaces are created even when they're not needed, i.e. when there
918         is no actual overlap, and (2) mask wouldn't be applied correctly.
919
920         In this patch the behavior is changed so that the area to be painted is divided to "overlapping"
921         and "non overlapping" regions. The non-overlapping regions are painted directly, while the overlapping
922         regions are tiled to smaller rectangles painted using an intermediate surface.
923         Masks are applied to those intermediate surfaces based on the transform of the actual mask, not drawn
924         together with the content texture like before.
925
926         This optimizes for the more common case of opacity animations on a large tree, while making the quite
927         rare case of composited masks slightly less optimized but always correct.
928
929         Tests: compositing/overlap-blending/children-opacity-huge.html
930                compositing/overlap-blending/reflection-opacity-huge.html
931                compositing/overlap-blending/children-opacity-no-overlap.html
932
933         * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
934         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
935         * platform/graphics/cairo/GraphicsContext3DPrivate.h:
936         (GraphicsContext3DPrivate):
937         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
938         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
939         * platform/graphics/efl/GraphicsContext3DPrivate.h:
940         (GraphicsContext3DPrivate):
941         * platform/graphics/qt/GraphicsContext3DQt.cpp:
942         (GraphicsContext3DPrivate):
943         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
944         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
945         (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
946         * platform/graphics/qt/MediaPlayerPrivateQt.h:
947         (MediaPlayerPrivateQt):
948         * platform/graphics/surfaces/GraphicsSurface.cpp:
949         (WebCore::GraphicsSurface::paintToTextureMapper):
950         * platform/graphics/surfaces/GraphicsSurface.h:
951         (GraphicsSurface):
952         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
953         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
954         * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
955         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
956         * platform/graphics/surfaces/win/GraphicsSurfaceWin.cpp:
957         (WebCore::GraphicsSurface::platformPaintToTextureMapper):
958         * platform/graphics/texmap/TextureMapperBackingStore.h:
959         (TextureMapperBackingStore):
960         * platform/graphics/texmap/TextureMapperPlatformLayer.h:
961         (TextureMapperPlatformLayer):
962         * platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp:
963         (WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper):
964         * platform/graphics/texmap/TextureMapperSurfaceBackingStore.h:
965         (TextureMapperSurfaceBackingStore):
966         * platform/graphics/texmap/TextureMapperTile.cpp:
967         (WebCore::TextureMapperTile::paint):
968         * platform/graphics/texmap/TextureMapperTile.h:
969         (TextureMapperTile):
970         * platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:
971         (WebCore::TextureMapperTiledBackingStore::paintToTextureMapper):
972         * platform/graphics/texmap/TextureMapperTiledBackingStore.h:
973         (TextureMapperTiledBackingStore):
974         * platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp:
975         (WebCore::CoordinatedBackingStore::paintTilesToTextureMapper):
976         (WebCore::CoordinatedBackingStore::paintToTextureMapper):
977         * platform/graphics/texmap/coordinated/CoordinatedBackingStore.h:
978         (CoordinatedBackingStore):
979                 Removed the "mask" parameter from TextureMapperPlatformLayer and overrides, since
980                 we no longer paint the contents and the mask in the same pass.
981
982         * platform/graphics/texmap/TextureMapper.cpp:
983         (WebCore::TextureMapper::TextureMapper):
984         * platform/graphics/texmap/TextureMapper.h:
985         (WebCore::TextureMapper::setMaskMode):
986         (TextureMapper):
987         (WebCore::TextureMapper::isInMaskMode):
988         * platform/graphics/texmap/TextureMapperGL.cpp:
989         (WebCore::TextureMapperGL::drawNumber):
990         (WebCore::TextureMapperGL::drawTexture):
991         (WebCore::TextureMapperGL::draw):
992         (WebCore):
993         (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
994         (WebCore::TextureMapperGL::drawFiltered):
995         * platform/graphics/texmap/TextureMapperGL.h:
996         (TextureMapperGL):
997         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
998         (WebCore::TextureMapperImageBuffer::drawTexture):
999         (WebCore::TextureMapperImageBuffer::drawSolidColor):
1000         * platform/graphics/texmap/TextureMapperImageBuffer.h:
1001         (TextureMapperImageBuffer):
1002                 Instead of painting the mask together with the texture/color, paint the mask
1003                 by drawing with DestinationIn to an existing surface.
1004
1005         * platform/graphics/texmap/TextureMapperLayer.cpp:
1006         (TextureMapperPaintOptions):
1007         (WebCore::TextureMapperLayer::paintSelf):
1008         (WebCore::TextureMapperLayer::shouldBlend):
1009         (WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
1010         (WebCore::TextureMapperLayer::replicaTransform):
1011         (WebCore):
1012         (WebCore::applyFilters):
1013         (WebCore::resolveOverlaps):
1014         (WebCore::TextureMapperLayer::computeOverlapRegions):
1015         (WebCore::TextureMapperLayer::paintUsingOverlapRegions):
1016         (WebCore::TextureMapperLayer::applyMask):
1017         (WebCore::TextureMapperLayer::paintIntoSurface):
1018         (WebCore::commitSurface):
1019         (WebCore::TextureMapperLayer::paintWithIntermediateSurface):
1020         (WebCore::TextureMapperLayer::paintRecursive):
1021         * platform/graphics/texmap/TextureMapperLayer.h:
1022         (WebCore):
1023         (TextureMapperLayer):
1024         (WebCore::TextureMapperLayer::hasFilters):
1025         * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
1026         (WebCore):
1027         (WebCore::TextureMapperShaderProgram::create):
1028         * platform/graphics/texmap/TextureMapperShaderProgram.h:
1029
1030 2013-02-27  Alexander Pavlov  <apavlov@chromium.org>
1031
1032         Web Inspector: [REGRESSION] [Audits] Disabled "Run" button styling is the same as the enabled one
1033         https://bugs.webkit.org/show_bug.cgi?id=110971
1034
1035         Reviewed by Yury Semikhatsky.
1036
1037         Split out PanelEnablerView-related rules into panelEnabledView.css and restored the missing rules
1038         in inspector.css.
1039
1040         * inspector/front-end/inspector.css:
1041         * inspector/front-end/panelEnablerView.css:
1042
1043 2013-02-27  Kent Tamura  <tkent@chromium.org>
1044
1045         REGRESSION: INPUT_MULTIPLE_FIELDS_UI: Changing CSS display property on input[type=date] unexpectedly makes another line for ::-webkit-calendar-picker-indicator
1046         https://bugs.webkit.org/show_bug.cgi?id=110974
1047
1048         Reviewed by Kentaro Hara.
1049
1050         Input elements with the multiple fields UI require flexible box
1051         layout. We should use RenderFlexibleBox regardless of display
1052         property values.
1053
1054         Tests: Update fast/forms/date/date-apparance-basic.html
1055
1056         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
1057         (WebCore::BaseMultipleFieldsDateAndTimeInputType::createRenderer):
1058         Always use RenderFlexibleBox.
1059         * html/BaseMultipleFieldsDateAndTimeInputType.h:
1060         (BaseMultipleFieldsDateAndTimeInputType): Declare createRenderer.
1061
1062 2013-02-27  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1063
1064         [TexMap] Flickering after transitions on Apple HTML5 demo
1065         https://bugs.webkit.org/show_bug.cgi?id=102501
1066
1067         Reviewed by Noam Rosenthal.
1068
1069         Notify about animation start after the new animation is actually commited.
1070
1071         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1072         (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
1073         (WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
1074         (WebCore::GraphicsLayerTextureMapper::addAnimation):
1075         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
1076         (GraphicsLayerTextureMapper):
1077
1078 2013-02-27  Vivek Galatage  <vivek.vg@samsung.com>
1079
1080         Web Inspector: Refactor AuditsPanel with AuditController as newly introduced entity
1081         https://bugs.webkit.org/show_bug.cgi?id=110866
1082
1083         Reviewed by Alexander Pavlov.
1084
1085         AuditController is being introduced in order to follow MVC pattern with the Audits.
1086         This is the first step about the refactoring. Moving the methods from the AuditsPanel
1087         into AuditController would ease the event driven approach to de-couple the AuditsPanel
1088         and the AuditLauncherView.
1089
1090         No new tests as code refactoring.
1091
1092         * WebCore.gypi:
1093         * WebCore.vcproj/WebCore.vcproj:
1094         * inspector/compile-front-end.py:
1095         * inspector/front-end/AuditController.js: Added.
1096         (WebInspector.AuditController):
1097         (WebInspector.AuditController.prototype.ruleResultReadyCallback):
1098         (WebInspector.AuditController.prototype.categoryDoneCallback):
1099         (WebInspector.AuditController.prototype._executeAudit):
1100         (WebInspector.AuditController.prototype._auditFinishedCallback):
1101         (WebInspector.AuditController.prototype.startAuditWhenResourcesReady):
1102         (WebInspector.AuditController.prototype.initiateAudit):
1103         (WebInspector.AuditController.prototype._reloadResources):
1104         (WebInspector.AuditController.prototype._didMainResourceLoad):
1105         * inspector/front-end/AuditLauncherView.js:
1106         (WebInspector.AuditLauncherView):
1107         (WebInspector.AuditLauncherView.prototype._startAudit):
1108         * inspector/front-end/AuditsPanel.js:
1109         (WebInspector.AuditsPanel):
1110         (WebInspector.AuditsPanel.prototype.auditFinishedCallback):
1111         * inspector/front-end/WebKit.qrc:
1112
1113 2013-02-27  Mihai Maerean  <mmaerean@adobe.com>
1114
1115         [CSS Regions] Region overset property is not properly computed when there is a region break
1116         https://bugs.webkit.org/show_bug.cgi?id=92497
1117
1118         Reviewed by David Hyatt.
1119
1120         For "paginated" content in regions that has -webkit-region-break-after:always, the bottom margin was being passed
1121         along for the next region in the chain, which shouldn't happen.
1122
1123         The fix is, at layout, to clear the bottom margin for the nodes (inside paginated contexts) that have
1124         -webkit-region-break-after:always.
1125
1126         Tests: fast/multicol/break-after-always-bottom-margin.html
1127                fast/regions/overset-break-nested.html
1128                fast/regions/overset-break-with-sibling.html
1129                fast/regions/overset-break.html
1130
1131         * rendering/RenderBlock.cpp:
1132         (WebCore::RenderBlock::applyAfterBreak):
1133
1134 2013-02-27  Stephen Chenney  <schenney@chromium.org>
1135
1136         Bindings test results update after r144126
1137         https://bugs.webkit.org/show_bug.cgi?id=108196
1138
1139         Unreviewed test update.
1140
1141         * bindings/scripts/test/JS/JSTestObj.cpp: Add include of CallbackFunction.h
1142
1143 2013-02-27  Vsevolod Vlasov  <vsevik@chromium.org>
1144
1145         Unreviewed inspector front-end closure compilaiton fix.
1146
1147         * inspector/front-end/ScriptsNavigator.js:
1148         (WebInspector.SnippetsNavigatorView.prototype._handleEvaluateSnippet):
1149         (WebInspector.SnippetsNavigatorView.prototype._handleRemoveSnippet):
1150         * inspector/front-end/ScriptsPanel.js:
1151         (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
1152
1153 2013-02-27  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
1154
1155         [texmap] Do not apply clip state if redundant
1156         https://bugs.webkit.org/show_bug.cgi?id=110790
1157
1158         Reviewed by Noam Rosenthal.
1159
1160         Add a bool to check if clip state has changed since last apply.
1161
1162         No behavior changes, thus covered by existing tests.
1163
1164         * platform/graphics/texmap/TextureMapperGL.cpp:
1165         (WebCore::TextureMapperGL::ClipStack::reset):
1166         (WebCore::TextureMapperGL::ClipStack::pop):
1167         (WebCore::TextureMapperGL::ClipStack::apply):
1168         * platform/graphics/texmap/TextureMapperGL.h:
1169         (WebCore::TextureMapperGL::ClipStack::ClipStack):
1170         (ClipStack):
1171
1172 2013-02-27  Eugene Klyuchnikov  <eustas@chromium.org>
1173
1174         Web Inspector: timeline stops working on certain sites
1175         https://bugs.webkit.org/show_bug.cgi?id=110955
1176
1177         Reviewed by Alexander Pavlov.
1178
1179         Analysis: "timerId" value is number,
1180         so it is not wrapped to node as expected.
1181
1182         Solution: wrap values of all types except Node.
1183
1184         * inspector/front-end/TimelinePresentationModel.js:
1185         Wrap nonstring values to text nodes.
1186
1187 2013-02-27  Adam Barth  <abarth@webkit.org>
1188
1189         HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser can trigger ASSERT(m_speculations.isEmpty())
1190         https://bugs.webkit.org/show_bug.cgi?id=110949
1191
1192         Reviewed by Eric Seidel.
1193
1194         We can hit this ASSERT if didReceiveParsedChunkFromBackgroundParser is
1195         called from the background thread while we're processing
1196         m_speculations (i.e., if processing m_speculations is taking a while
1197         and we've yielded to the event loop).
1198
1199         It's hard to write a deterministic test for this patch, but it's hit
1200         quite often with existing LayoutTests.
1201
1202         * html/parser/HTMLDocumentParser.cpp:
1203         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
1204
1205 2013-02-27  Kentaro Hara  <haraken@chromium.org>
1206
1207         [V8] Generate a wrapper function for named constructor callbacks
1208         https://bugs.webkit.org/show_bug.cgi?id=110794
1209
1210         Reviewed by Adam Barth.
1211
1212         This would be the final step of generating wrapper functions.
1213         The patch generates the following wrapper function for named
1214         constructor callbacks.
1215
1216         Handle<Value> namedConstructorCallback(...)
1217         {
1218             return namedConstructor(...);
1219         }
1220
1221         No tests. No change in behavior.
1222
1223         * bindings/scripts/CodeGeneratorV8.pm:
1224         (GenerateNamedConstructor):
1225         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1226         (WebCore::namedConstructor):
1227         (WebCore::namedConstructorCallback):
1228         (WebCore):
1229         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
1230         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1231         (WebCore::namedConstructor):
1232         (WebCore::namedConstructorCallback):
1233         (WebCore):
1234         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
1235
1236 2013-02-26  Andrey Kosyakov  <caseq@chromium.org>
1237
1238         Web Inspector: show raster tasks on Timeline
1239         https://bugs.webkit.org/show_bug.cgi?id=105851
1240
1241         - add DeferPaint, Paint & RasterTask trace events handling to trace event processor;
1242         - upon begin frame, emit aggregated background event for all raster tasks related to inspected page.
1243
1244         Reviewed by Pavel Feldman.
1245
1246         * inspector/InspectorInstrumentation.cpp:
1247         (WebCore):
1248         (WebCore::InspectorInstrumentation::willPaintImpl):
1249         (InstrumentationEvents):
1250         (InstrumentationEventArguments):
1251         * inspector/InspectorInstrumentation.h:
1252         (InstrumentationEvents):
1253         (WebCore):
1254         (InstrumentationEventArguments):
1255         * inspector/InspectorTimelineAgent.cpp:
1256         (TimelineRecordType):
1257         (WebCore::InspectorTimelineAgent::stop):
1258         (WebCore::InspectorTimelineAgent::didBeginFrame):
1259         * inspector/InspectorTimelineAgent.h:
1260         (TimelineRecordType):
1261         (WebCore):
1262         * inspector/TimelineRecordFactory.cpp:
1263         (WebCore::TimelineRecordFactory::createRasterData):
1264         (WebCore):
1265         * inspector/TimelineRecordFactory.h:
1266         (TimelineRecordFactory):
1267         * inspector/TimelineTraceEventProcessor.cpp:
1268         (WebCore::TimelineTraceEventProcessor::TimelineTraceEventProcessor):
1269         (WebCore::TimelineTraceEventProcessor::~TimelineTraceEventProcessor):
1270         (WebCore):
1271         (WebCore::TimelineTraceEventProcessor::registerHandler):
1272         (WebCore::TimelineTraceEventProcessor::shutdown):
1273         (WebCore::TimelineTraceEventProcessor::TraceEvent::findParameter):
1274         (WebCore::TimelineTraceEventProcessor::TraceEvent::parameter):
1275         (WebCore::TimelineTraceEventProcessor::processEventOnAnyThread):
1276         (WebCore::TimelineTraceEventProcessor::onBeginFrame):
1277         (WebCore::TimelineTraceEventProcessor::onPaintLayerBegin):
1278         (WebCore::TimelineTraceEventProcessor::onPaintLayerEnd):
1279         (WebCore::TimelineTraceEventProcessor::onRasterTaskBegin):
1280         (WebCore::TimelineTraceEventProcessor::onRasterTaskEnd):
1281         (WebCore::TimelineTraceEventProcessor::onLayerDeleted):
1282         (WebCore::TimelineTraceEventProcessor::onPaint):
1283         (WebCore::TimelineTraceEventProcessor::flushRasterizerStatistics):
1284         (WebCore::TimelineTraceEventProcessor::sendTimelineRecord):
1285         (WebCore::TimelineTraceEventProcessor::processBackgroundEvents):
1286         * inspector/TimelineTraceEventProcessor.h:
1287         (WebCore::TimelineTraceEventProcessor::TraceEvent::TraceEvent):
1288         (WebCore::TimelineTraceEventProcessor::TraceEvent::id):
1289         (WebCore::TimelineTraceEventProcessor::TraceEvent::asInt):
1290         (WebCore::TimelineTraceEventProcessor::TraceEvent::asUInt):
1291         (TimelineTraceEventProcessor):
1292         * inspector/front-end/TimelineModel.js:
1293         * inspector/front-end/TimelinePresentationModel.js:
1294         (WebInspector.TimelinePresentationModel._initRecordStyles):
1295
1296 2013-02-26  Uday Kiran  <udaykiran@motorola.com>
1297
1298         getPropertyValue for -webkit-column-rule returns null, should compute the shorthand value
1299         https://bugs.webkit.org/show_bug.cgi?id=110698
1300
1301         Reviewed by Alexander Pavlov.
1302
1303         Test: fast/css/getPropertyValue-column-rule.html
1304
1305         * css/StylePropertySet.cpp:
1306         (WebCore::StylePropertySet::getPropertyValue):
1307
1308 2013-02-26  Uday Kiran  <udaykiran@motorola.com>
1309
1310         getPropertyValue for -webkit-margin-collapse returns null, should compute the shorthand value
1311         https://bugs.webkit.org/show_bug.cgi?id=110903
1312
1313         Reviewed by Alexander Pavlov.
1314
1315         getPropertyValue("-webkit-margin-collapse") should compute shorthand value
1316         when -webkit-margin-collapse is specified in CSS.
1317
1318         Test: fast/css/getPropertyValue-webkit-margin-collapse.html
1319
1320         * css/StylePropertySet.cpp:
1321         (WebCore::StylePropertySet::getPropertyValue):
1322
1323 2013-02-26  Uday Kiran  <udaykiran@motorola.com>
1324
1325         getPropertyValue for -webkit-marquee returns null, should compute the shorthand value
1326         https://bugs.webkit.org/show_bug.cgi?id=110816
1327
1328         Reviewed by Alexander Pavlov.
1329
1330         Compute the shorthand value for '-webkit-marquee' specified in CSS.
1331
1332         Test: fast/css/getPropertyValue-webkit-marquee.html
1333
1334         * css/StylePropertySet.cpp:
1335         (WebCore::StylePropertySet::getPropertyValue):
1336
1337 2013-02-26  Kentaro Hara  <haraken@chromium.org>
1338
1339         [V8] Remove Event::dataTransferAttrGetterCustom() and Event::valueAttrSetterCustom()
1340         https://bugs.webkit.org/show_bug.cgi?id=110666
1341
1342         Reviewed by Adam Barth.
1343
1344         Event::dataTransferAttrGetterCustom() is not used
1345         (i.e. the custom method is not registered to V8).
1346         Event::valueAttrSetterCustom() is declared but not
1347         implemented. We can remove them.
1348
1349         No tests. No change in behavior.
1350
1351         * bindings/scripts/CodeGeneratorV8.pm:
1352         (GenerateHeaderCustomCall):
1353         * bindings/v8/custom/V8EventCustom.cpp:
1354
1355 2013-02-26  Dimitri Glazkov  <dglazkov@chromium.org>
1356
1357         SelectorQuery should not ever use ResolvingStyle mode.
1358         https://bugs.webkit.org/show_bug.cgi?id=110843
1359
1360         It looks like we accidentally used ResolvingStyle mode for webkitMatchesSelector, and I exacerbated the problem
1361         in r143858 by switching all of SelectorQuery to use it. There aren't any visible effects, but the style bits
1362         of elements are unnecessarily twiddled when if we do that. Let's not do it.
1363
1364         Reviewed by Eric Seidel.
1365
1366         No public-facing behavior change, covered by existing tests.
1367
1368         * dom/SelectorQuery.cpp:
1369         (WebCore::SelectorDataList::selectorMatches): Switched to always use QueryingRules mode.
1370
1371 2013-02-26  Adam Barth  <abarth@webkit.org>
1372
1373         Silence this ASSERT. It is triggered by the threaded HTML parser.
1374         Investigation to follow in https://bugs.webkit.org/show_bug.cgi?id=110937
1375
1376         * loader/DocumentLoader.cpp:
1377         (WebCore::DocumentLoader::checkLoadComplete):
1378
1379 2013-02-26  Mark Lam  <mark.lam@apple.com>
1380
1381         SQLTransactionBackend::doCleanup() should not nullify its current
1382         statement and transaction error fields.
1383         https://bugs.webkit.org/show_bug.cgi?id=110826.
1384
1385         Reviewed by Geoffrey Garen.
1386
1387         The reason for this is because the frontend SQLTransaction may have
1388         tasks that are already registered via callOnMainThread(), and may
1389         invoke transaction state functions that access these objects in the
1390         SQLTransactionBackend. This proves to be problematic if the database
1391         was interrupted resulting in doCleanup() being called concurrently
1392         while those states are executing.
1393
1394         Instead, we leave their clean up to the SQLTransactionBackend destructor
1395         which is guaranteed to only be called when the SQLTransaction is also
1396         destructing i.e. these objects are no longer needed.
1397
1398         No new tests.
1399
1400         * Modules/webdatabase/SQLTransactionBackend.cpp:
1401         (WebCore::SQLTransactionBackend::doCleanup):
1402
1403 2013-02-26  Anders Carlsson  <andersca@apple.com>
1404
1405         Implement StorageAreaProxy::getItem and StorageAreaProxy::setItem
1406         https://bugs.webkit.org/show_bug.cgi?id=110927
1407
1408         Reviewed by Sam Weinig.
1409
1410         Export StorageMap::getItem and StorageMap::setItem.
1411
1412         * WebCore.exp.in:
1413
1414 2013-02-26  Adam Klein  <adamk@chromium.org>
1415
1416         Parsing of HTML tags in MathML Text Insertion Points leads to bogus parser behavior
1417         https://bugs.webkit.org/show_bug.cgi?id=110808
1418
1419         Reviewed by Adam Barth.
1420
1421         When looking for various table tags in the HTMLElementStack, compare
1422         QualifiedNames rather than just local names, where necessary.
1423
1424         Note that not all uses have been "fixed"; I've only changed for which
1425         I could write a test with differing behavior. A followup patch to
1426         rationalize the use of QualifiedName vs local names would be ideal.
1427
1428         Tests: html5lib/generated/run-math-data.html
1429                html5lib/generated/run-math-write.html
1430
1431         * html/parser/HTMLElementStack.cpp:
1432         (WebCore::inScopeCommon): Added a version of inScopeCommon that
1433         handles QualifiedNames instead of just localNames.
1434         (WebCore::HTMLElementStack::inTableScope): When given a QualifiedName,
1435         call the new version of inScopeCommon().
1436         * html/parser/HTMLTreeBuilder.cpp:
1437         (WebCore::HTMLTreeBuilder::processStartTag):
1438         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
1439         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
1440
1441 2013-02-26  Kaustubh Atrawalkar  <kaustubh@motorola.com>
1442
1443         Notification.requestPermission callback should be optional
1444         https://bugs.webkit.org/show_bug.cgi?id=108196
1445
1446         Reviewed by Adam Barth.
1447
1448         Spec says it should be optional.
1449         http://notifications.spec.whatwg.org/#notification
1450
1451         Test: fast/notifications/notifications-request-permission-optional.html
1452
1453         * GNUmakefile.list.am:
1454         * Modules/notifications/Notification.h:
1455         (Notification):
1456         * Modules/notifications/Notification.idl:
1457         * Target.pri:
1458         * UseJSC.cmake:
1459         * UseV8.cmake:
1460         * WebCore.gypi:
1461         * WebCore.vcproj/WebCore.vcproj:
1462         * WebCore.vcxproj/WebCore.vcxproj:
1463         * WebCore.vcxproj/WebCore.vcxproj.filters:
1464         * WebCore.xcodeproj/project.pbxproj:
1465         * bindings/js/JSNotificationCustom.cpp: Removed.
1466         * bindings/scripts/CodeGeneratorJS.pm:
1467         (GenerateParametersCheck):
1468         * bindings/v8/custom/V8NotificationCustom.cpp: Removed.
1469
1470 2013-02-26  Joshua Bell  <jsbell@chromium.org>
1471
1472         IndexedDB: Add temporary diagnostic code to IDBRequest.result getter
1473         https://bugs.webkit.org/show_bug.cgi?id=110916
1474
1475         Reviewed by Kentaro Hara.
1476
1477         Implement a custom getter for IDBRequest.result that does one additional hidden
1478         property set, to try and isolate the flaky crash seen in wkbug.com/105363 which is
1479         difficult to repro locally. If the crash moves to the new line it will point
1480         the investigation in a new direction. Also add an assertion that probes string
1481         wrappers (the expected type).
1482
1483         * Modules/indexeddb/IDBRequest.idl: Mark attribute as [Custom]
1484         * WebCore.gypi: New file.
1485         * bindings/v8/custom/V8IDBRequestCustom.cpp: Added.
1486         (WebCore::V8IDBRequest::resultAttrGetterCustom): Implementation - copy/paste from
1487         generated code, plus extra setNamedHiddenReference call and string ASSERT.
1488
1489 2013-02-26  Anders Carlsson  <andersca@apple.com>
1490
1491         Add a couple of symbols needed by WebKit2.
1492
1493         * WebCore.exp.in:
1494
1495 2013-02-26  Michelangelo De Simone  <michelangelo@webkit.org>
1496
1497         [CSS Shaders] Implement color and luminosity non-separable blend modes
1498         https://bugs.webkit.org/show_bug.cgi?id=106226
1499
1500         Added the following GLSL helper functions to the CustomFilterValidatedProgram:
1501
1502             - css_Lum(C): returns the luminosity for the color C
1503             - css_ClipColor(C): clips color C
1504             - css_SetLum(C, l): sets the luminosity l on the color C
1505
1506         The above functions are being used for the "color" and "luminosity" non-separable
1507         blend modes, the relevant spec for such modes is at URL:
1508         https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blendingnonseparable
1509
1510         Reviewed by Dean Jackson.
1511
1512         Tests: css3/filters/custom/custom-filter-nonseparable-blend-mode-color.html
1513                css3/filters/custom/custom-filter-nonseparable-blend-mode-luminosity.html
1514
1515         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
1516         (WebCore::CustomFilterValidatedProgram::blendFunctionString):
1517
1518 2013-02-26  Anders Carlsson  <andersca@apple.com>
1519
1520         StorageAreaProxy should hold on to a StorageMap and not a HashMap
1521         https://bugs.webkit.org/show_bug.cgi?id=110919
1522
1523         Reviewed by Jessie Berlin.
1524
1525         StorageMap should be a private header.
1526
1527         * WebCore.xcodeproj/project.pbxproj:
1528
1529 2013-02-26  Stephen Chenney  <schenney@chromium.org>
1530
1531         feDisplacementMap filter gets color space wrong
1532         https://bugs.webkit.org/show_bug.cgi?id=105929
1533
1534         Reviewed by Dirk Schulze.
1535
1536         Tests: svg/filters/feDisplacementMap-color-interpolation-filters-expected.svg
1537                svg/filters/feDisplacementMap-color-interpolation-filters.svg
1538                svg/filters/feDisplacementMap-filterUnits-expected.svg
1539                svg/filters/feDisplacementMap-filterUnits.svg
1540
1541         According to the spec, the SVG feDisplacementMap filter should not
1542         change the color space on its first input, and other vendors seem to
1543         agree that this also means that the output should be in the first
1544         input's color space. That makes sense: we are displacing the input,
1545         not otherwise manipulating colors.
1546
1547         This change improves color space handling for filters by more
1548         explicitly tracking which color space is used for the filter's
1549         operation and which is used for the filter's result. It provides a
1550         means for filter effects to override the color-interpolation-filters
1551         property as defined by the spec. feFlood and feDisplacementMap use
1552         this new feature to enforce the spec requirements.
1553
1554         * platform/graphics/filters/FEDisplacementMap.cpp:
1555         (WebCore::FEDisplacementMap::setResultColorSpace): Override the default color space with the
1556             same color space as the first input filter.
1557         (WebCore):
1558         (WebCore::FEDisplacementMap::transformResultColorSpace): Only transform the color space on
1559             the second filter input.
1560         (WebCore::FEDisplacementMap::platformApplySoftware): Make the application code more efficient,
1561             and give slightly better numerical accuracy.
1562         * platform/graphics/filters/FEDisplacementMap.h:
1563         (FEDisplacementMap): Declare setResultColorSpace.
1564         * platform/graphics/filters/FEFlood.cpp:
1565         (WebCore::FEFlood::platformApplySoftware): Remove the call that forces
1566             the result color space. We do it now in the setResultColorSpace.
1567         * platform/graphics/filters/FEFlood.h:
1568         (FEFlood): Add setResultColorSPace override that enforces sRGB color space. But not if using
1569             CG, which apparently does this this already internally.
1570         * platform/graphics/filters/FilterEffect.cpp:
1571         (WebCore::FilterEffect::FilterEffect): Rename m_colorSpace to m_operatingColorSpace.
1572         (WebCore::FilterEffect::apply): Allow filter effects to
1573             override the color space conversion of their inputs.
1574         (WebCore::FilterEffect::createImageBufferResult): Always create the
1575             image buffer with the result color space.
1576         * platform/graphics/filters/FilterEffect.h:
1577         (WebCore::FilterEffect::operatingColorSpace): New accessor.
1578         (WebCore::FilterEffect::setOperatingColorSpace): New accessor.
1579         (WebCore::FilterEffect::resultColorSpace): New accessor.
1580         (WebCore::FilterEffect::setResultColorSpace): New accessor.
1581         (FilterEffect):
1582         (WebCore::FilterEffect::transformResultColorSpace): A new virtual
1583             method that allows filter effects individual control over the color
1584             space conversion of their inputs.
1585         * platform/graphics/filters/SourceGraphic.h:
1586         (WebCore::SourceGraphic::SourceGraphic): Variable rename.
1587         * rendering/FilterEffectRenderer.cpp:
1588         (WebCore::FilterEffectRenderer::build): Use accessors to set color
1589             space to enable per-effect overrides.
1590         * rendering/svg/RenderSVGResourceFilter.cpp:
1591         (WebCore::RenderSVGResourceFilter::buildPrimitives): Use accessors to set color.
1592
1593 2013-02-26  Mike West  <mkwst@chromium.org>
1594
1595         X-Frame-Options should accept ALLOWALL as a valid value.
1596         https://bugs.webkit.org/show_bug.cgi?id=110857
1597
1598         Reviewed by Adam Barth.
1599
1600         DoubleClick, among others, serves ALLOWALL as a 'X-Frame-Options' value
1601         with the intent of (shock!) allowing a resource to be framed by all
1602         origins. Given its prevelance, and the fact that IE supports the header,
1603         we shouldn't call it out as invalid.
1604
1605         This patch tweaks the warning logic to only throw the warning if the
1606         header's value isn't 'ALLOWALL', 'DENY', or 'SAMEORIGIN'.
1607
1608         Test: http/tests/security/XFrameOptions/x-frame-options-allowall.html
1609
1610         * loader/FrameLoader.cpp:
1611         (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
1612
1613 2013-02-26  Tony Chang  <tony@chromium.org>
1614
1615         CSS Flexbox: dynamically applied align-items doesn't affect item alignment
1616         https://bugs.webkit.org/show_bug.cgi?id=110341
1617
1618         Reviewed by Ojan Vafai.
1619
1620         If flex items don't change width, we don't lay them out again. This causes problems
1621         when an item goes from stretch to non-stretch since we need to relayout to get the
1622         smaller height. Fix this by marking flex items that were stretch as needing layout.
1623
1624         Test: css3/flexbox/relayout-align-items.html
1625
1626         * rendering/RenderFlexibleBox.cpp:
1627         (WebCore::resolveAlignment): Pull out common code for computing flex item style.
1628         (WebCore::RenderFlexibleBox::styleDidChange): Mark children as needing layout.
1629         (WebCore::RenderFlexibleBox::alignmentForChild): Use resolveAlignment.
1630         * rendering/RenderFlexibleBox.h:
1631
1632 2013-02-26  Anders Carlsson  <andersca@apple.com>
1633
1634         StorageMap can just import an entire map of items at once
1635         https://bugs.webkit.org/show_bug.cgi?id=110904
1636
1637         Reviewed by Beth Dakin.
1638
1639         Instead of iterating over the map inside StorageAreaSync, just pass it directly
1640         (through StorageAreaImpl) to StorageMap and iterate over it there.
1641
1642         * storage/StorageAreaImpl.cpp:
1643         (WebCore::StorageAreaImpl::importItems):
1644         * storage/StorageAreaImpl.h:
1645         (StorageAreaImpl):
1646         * storage/StorageAreaSync.cpp:
1647         (WebCore::StorageAreaSync::performImport):
1648         * storage/StorageMap.cpp:
1649         (WebCore::StorageMap::importItems):
1650         * storage/StorageMap.h:
1651         (StorageMap):
1652
1653 2013-02-26  CHAUDHARY VINEET  <rgf748@motorola.com>
1654
1655         [JSC] static methods with Callback should not have this pointer
1656         https://bugs.webkit.org/show_bug.cgi?id=110846
1657
1658         Reviewed by Kentaro Hara.
1659
1660         Fixing the JSC Codegenerator not to use 'this' pointer in static methods.
1661
1662         No new tests. 
1663
1664         * bindings/scripts/CodeGeneratorJS.pm:
1665         (GenerateParametersCheck):
1666         * bindings/scripts/test/JS/JSTestObj.cpp:
1667         (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg):
1668         (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg):
1669         * bindings/scripts/test/JS/JSTestObj.h:
1670         * bindings/scripts/test/TestObj.idl:
1671         * bindings/scripts/test/V8/V8TestObj.cpp:
1672         (WebCore::TestObjV8Internal::staticMethodWithCallbackAndOptionalArgMethod):
1673         (TestObjV8Internal):
1674         (WebCore::TestObjV8Internal::staticMethodWithCallbackAndOptionalArgMethodCallback):
1675         (WebCore::TestObjV8Internal::staticMethodWithCallbackArgMethod):
1676         (WebCore::TestObjV8Internal::staticMethodWithCallbackArgMethodCallback):
1677         (WebCore::ConfigureV8TestObjTemplate):
1678
1679 2013-02-20  Alpha Lam  <hclam@chromium.org>
1680
1681         GIFImageReader to read from source data directly
1682         https://bugs.webkit.org/show_bug.cgi?id=109662
1683
1684         Reviewed by Stephen White.
1685
1686         This is the first patch to improve GIF image decoding.
1687
1688         GIFImageReader has an internal 256 bytes buffer to saving incoming
1689         bytes. This mechanism is out-dated because WebKit holds the entire
1690         file in memory and it is not necessary to hold data in an intermediate
1691         buffer.
1692
1693         This is also a blocker for later work to parse and decode GIF
1694         incrementally.
1695
1696         This change removed the imtermediate 'hold' buffer and uses an index
1697         for data position to keep track of parsing of the GIF file. Buffer for
1698         global colormap and local colormap are also removed because they can be
1699         referenced from the data stream.
1700
1701         This change is tested by:
1702
1703         Layout tests
1704         All tests passed under fast/images.
1705
1706         Unit tests
1707         Added GIFImageDecoderTest for Chromium.
1708
1709         Local testing
1710         I tested this implementation against a set of 50k GIF images and
1711         there's no crashes and produces bit-exact results as previous code.
1712
1713         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1714         (WebCore::GIFImageDecoder::setData):
1715         (WebCore::GIFImageDecoder::frameCount):
1716         (WebCore::GIFImageDecoder::haveDecodedRow):
1717         (WebCore::GIFImageDecoder::decode):
1718         * platform/image-decoders/gif/GIFImageReader.cpp:
1719         (GIFImageReader::doLZW):
1720         (GIFImageReader::decode):
1721         (GIFImageReader::decodeInternal):
1722         (GIFImageReader::setRemainingBytes):
1723         * platform/image-decoders/gif/GIFImageReader.h:
1724         (GIFFrameContext):
1725         (GIFFrameContext::GIFFrameContext):
1726         (GIFFrameContext::~GIFFrameContext):
1727         (GIFImageReader::GIFImageReader):
1728         (GIFImageReader::~GIFImageReader):
1729         (GIFImageReader::setData):
1730         (GIFImageReader):
1731         (GIFImageReader::globalColormap):
1732         (GIFImageReader::localColormap):
1733         (GIFImageReader::localColormapSize):
1734         (GIFImageReader::data):
1735         (GIFImageReader::colormap):
1736
1737 2013-02-26  Christian Biesinger  <cbiesinger@chromium.org>
1738
1739         Empty <button>s should collapse; empty <input type="button"> should not collapse
1740         https://bugs.webkit.org/show_bug.cgi?id=110654
1741
1742         Reviewed by Ojan Vafai.
1743
1744         This patch also fixes other height computation issues with flex boxes
1745         related to scroll bars and hasLineIfEmpty()=true. See below for
1746         details.
1747
1748         Tests: css3/flexbox/button.html
1749                css3/flexbox/position-absolute-child-with-contenteditable.html
1750
1751         * rendering/RenderBlock.cpp:
1752         (WebCore::RenderBlock::layoutBlock): Add a FIXME to make
1753         border/padding/scrollbar inclusion more consistent with other
1754         renderers.
1755         * rendering/RenderButton.h:
1756         (WebCore::RenderButton::hasLineIfEmpty): We only want a line for
1757         <input type=button|submit|reset>, for consistency with Firefox.
1758
1759         * rendering/RenderFlexibleBox.cpp:
1760         (WebCore::RenderFlexibleBox::layoutBlock): Start out layoutBlock by
1761         setting the logical height to border + padding + scrollbar height to
1762         ensure that we have space for the scrollbar even without children. The
1763         layoutFlexItems change below is not enough because we also need this
1764         when hasLineIfEmpty() is false.
1765         (WebCore::RenderFlexibleBox::layoutFlexItems): Ensure we have a line
1766         when hasLineIfEmpty() is true by calling setLogicalHeight(border+
1767         padding+scrollbar+lineHeight()) if we don't have a flex line.
1768
1769 2013-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>
1770
1771         Unreviewed, rolling out r143941.
1772         http://trac.webkit.org/changeset/143941
1773         https://bugs.webkit.org/show_bug.cgi?id=110901
1774
1775         This is a step in the wrong direction as it ties us to what
1776         grid-{row|column} expect (see
1777         https://bugs.webkit.org/show_bug.cgi?id=110777 for the right
1778         direction) (Requested by jchaffraix on #webkit).
1779
1780         * css/CSSComputedStyleDeclaration.cpp:
1781         (WebCore::valueForGridPosition):
1782         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1783         * css/StyleResolver.cpp:
1784         (WebCore::createGridPosition):
1785         (WebCore::StyleResolver::applyProperty):
1786         * rendering/RenderGrid.cpp:
1787         (WebCore::RenderGrid::maximumIndexInDirection):
1788         (WebCore::RenderGrid::placeItemsOnGrid):
1789         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
1790         (WebCore::RenderGrid::placeAutoMajorAxisItemsOnGrid):
1791         (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
1792         (WebCore::RenderGrid::autoPlacementMajorAxisPositionForChild):
1793         (WebCore::RenderGrid::autoPlacementMinorAxisPositionForChild):
1794         * rendering/RenderGrid.h:
1795         * rendering/style/GridPosition.h:
1796         * rendering/style/RenderStyle.h:
1797         * rendering/style/StyleGridItemData.h:
1798         (StyleGridItemData):
1799
1800 2013-02-26  Jer Noble  <jer.noble@apple.com>
1801
1802         Unreviewed build fix; use correct macro for platform name in FeatureDefines.xcconfig.
1803
1804         * Configurations/FeatureDefines.xcconfig:
1805
1806 2013-02-26  Andrew Lo  <anlo@rim.com>
1807
1808         [BlackBerry] Animated images not animating on accelerated compositing layers
1809         https://bugs.webkit.org/show_bug.cgi?id=110886
1810
1811         Reviewed by Rob Buis.
1812
1813         Internally reviewed by Arvid Nilsson.
1814         Internal PR 299598.
1815
1816         Animated images on AC layers call GraphicsLayer::setContentsToImage
1817         on each frame with the same Image.
1818
1819         We need to set needs display in that case so that the frames are
1820         displayed.
1821
1822         No new tests are needed since there is no new functionality.
1823
1824         * platform/graphics/blackberry/LayerWebKitThread.cpp:
1825         (WebCore::LayerWebKitThread::setContents):
1826
1827 2013-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>
1828
1829         Unreviewed, rolling out r144065.
1830         http://trac.webkit.org/changeset/144065
1831         https://bugs.webkit.org/show_bug.cgi?id=110896
1832
1833         Causing failures and crashes on Chromium Win7 and Win XP
1834         (Requested by schenney on #webkit).
1835
1836         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
1837         (WebCore::normalizeCharacters):
1838         (WebCore::HarfBuzzShaper::HarfBuzzShaper):
1839         * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
1840         (WebCore::HarfBuzzShaperBase::setNormalizedBuffer):
1841
1842 2013-02-26  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1843
1844         [TexMap] Ignore layer repaint request when drawsContent is false
1845         https://bugs.webkit.org/show_bug.cgi?id=110888
1846
1847         Reviewed by Noam Rosenthal.
1848
1849         As long as drawsContent is false we should ignore requests for repaints.
1850         A full repaint will be requested when drawsContent is changed to true.
1851
1852         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
1853         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
1854         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
1855         (WebCore::GraphicsLayerTextureMapper::setDrawsContent):
1856
1857 2013-02-26  Joshua Bell  <jsbell@chromium.org>
1858
1859         IndexedDB: IDBObjectStore.index() doesn't report errors after deleteIndex()
1860         https://bugs.webkit.org/show_bug.cgi?id=110792
1861
1862         Reviewed by Tony Chang.
1863
1864         The object store's metadata wasn't updated if the index hadn't been accessed
1865         by script and hence placed in the name->object map. Make sure the metadata
1866         is always updated.
1867
1868         Test: storage/indexeddb/deleteIndex-bug110792.html
1869
1870         * Modules/indexeddb/IDBObjectStore.cpp:
1871         (WebCore::IDBObjectStore::deleteIndex): Always update the object store's metadata.
1872
1873 2013-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>
1874
1875         Unreviewed, rolling out r144019.
1876         http://trac.webkit.org/changeset/144019
1877         https://bugs.webkit.org/show_bug.cgi?id=110892
1878
1879         due to 8% perf regression on chromium-win7 intl1 page cycler,
1880         see https://bugs.webkit.org/show_bug.cgi?id=110872 (Requested
1881         by gasubic on #webkit).
1882
1883         * platform/text/LineBreakIteratorPoolICU.h:
1884         (WebCore::LineBreakIteratorPool::take):
1885         (WebCore::LineBreakIteratorPool::put):
1886         (LineBreakIteratorPool):
1887         * platform/text/TextBreakIterator.h:
1888         (WebCore):
1889         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
1890         (WebCore::LazyLineBreakIterator::get):
1891         (WebCore::LazyLineBreakIterator::reset):
1892         (LazyLineBreakIterator):
1893         * platform/text/TextBreakIteratorICU.cpp:
1894         (WebCore::acquireLineBreakIterator):
1895         (WebCore::releaseLineBreakIterator):
1896         * rendering/RenderBlockLineLayout.cpp:
1897         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1898         * rendering/RenderText.cpp:
1899         (WebCore::RenderText::computePreferredLogicalWidths):
1900         * rendering/RenderText.h:
1901         (WebCore):
1902         * rendering/break_lines.cpp:
1903         (WebCore):
1904         (WebCore::isBreakableSpace):
1905         (WebCore::needsLineBreakIterator):
1906         (WebCore::nextBreakablePosition):
1907         (WebCore::nextBreakablePositionIgnoringNBSP):
1908         * rendering/break_lines.h:
1909         (WebCore):
1910         (WebCore::isBreakable):
1911
1912 2013-02-26  Dana Jansens  <danakj@chromium.org>
1913
1914         Create the SharedGraphicsContext3D through its own method.
1915         https://bugs.webkit.org/show_bug.cgi?id=109345
1916
1917         Reviewed by James Robinson.
1918
1919         Allow creating a GraphicsContext3DPrivate from an externally owned
1920         WebGraphicsContext3D and GrContext. Then create the shared graphics
1921         context from these provided by the embedder.
1922
1923         This falls back to the old path if the new methods return NULL to
1924         let us land this immediately and then transition the chromium side
1925         over to this path.
1926
1927         * platform/chromium/support/GraphicsContext3DPrivate.cpp:
1928         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
1929         (WebCore):
1930         (WebCore::GraphicsContext3DPrivate::createGraphicsContextFromExternalWebContextAndGrContext):
1931         (WebCore::GraphicsContext3DPrivate::grContext):
1932         * platform/chromium/support/GraphicsContext3DPrivate.h:
1933         (GraphicsContext3DPrivate):
1934         (WebCore::GraphicsContext3DPrivate::webContext):
1935         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
1936         (WebCore::SharedGraphicsContext3DImpl::getOrCreateContext):
1937
1938 2013-02-26  Antti Koivisto  <antti@apple.com>
1939
1940         REGRESSION(r143986): fast/files/revoke-blob-url.html asserts
1941         https://bugs.webkit.org/show_bug.cgi?id=110885
1942         
1943         Reviewed by Alexey Proskuryakov.
1944
1945         The ResourceRequest string constructor assumes that the string is a valid URL. Use KURL constructor instead.
1946
1947         * html/DOMURL.cpp:
1948         (WebCore::DOMURL::revokeObjectURL):
1949
1950 2013-02-26  Dean Jackson  <dino@apple.com>
1951
1952         Draw intermediate snapshots if possible
1953         https://bugs.webkit.org/show_bug.cgi?id=110811
1954
1955         Reviewed by Simon Fraser.
1956
1957         After http://webkit.org/b/110495 we delayed snapshotting until we've
1958         received a nice image, but this made the page look like it is broken.
1959         We should draw any intermediate snapshots that we find, which might
1960         include content such as progress bars/spinners.
1961
1962         * html/HTMLPlugInElement.h:
1963         (WebCore::HTMLPlugInElement::isPlugInImageElement): Expose virtual method
1964         to indicate if this is a HTMLPlugInImageElement or not.
1965         * html/HTMLPlugInImageElement.cpp:
1966         (WebCore::HTMLPlugInImageElement::updateSnapshot): If we have
1967         a RenderEmbeddedObject renderer, then tell it to repaint.
1968         * html/HTMLPlugInImageElement.h:
1969         (WebCore::HTMLPlugInImageElement::snapshotImage): Expose an
1970         accessor for snapshot images.
1971         * rendering/RenderEmbeddedObject.cpp:
1972         (WebCore::RenderEmbeddedObject::paintSnapshotImage): New helper
1973         method to render an image directly. This code is similar to
1974         that in RenderSnapshottedPlugIn.
1975         (WebCore::RenderEmbeddedObject::paintContents): The virtual implementation
1976         of this method for use when we have a snapshot to paint. If we are a plugin that is
1977         in the process of being snapshotted, ask our HTMLPlugInImageElement for a
1978         snapshot and paint that instead. In the case where we are not snapshotting,
1979         or we do not yet have a snapshot, this will call back into the RenderWidget code.
1980         * rendering/RenderEmbeddedObject.h:
1981         (RenderEmbeddedObject): New methods paintSnapshotImage and paintContents
1982         * rendering/RenderWidget.cpp:
1983         (WebCore::RenderWidget::paintContents): New method called in the middle
1984         of paint() that can be overridden by RenderEmbeddedObject. The code here was
1985         simply moved out of the previous paint().
1986         (WebCore::RenderWidget::paint): Call paintContents at the appropriate time.
1987         * rendering/RenderWidget.h:
1988         (RenderWidget): New virtual method paintContents.
1989
1990 2013-02-26  Levi Weintraub  <leviw@chromium.org>
1991
1992         Add support for 8 bit TextRuns for Chromium/HarfBuzz
1993         https://bugs.webkit.org/show_bug.cgi?id=99393
1994
1995         Reviewed by Eric Seidel.
1996
1997         Adding support for 8 bit TextRuns for platforms using HarfBuzz. To accomplish this,
1998         8 bit text runs are upconverted to 16 bit in the complex text path during string
1999         normalization, as HarfBuzz operates on UChars.
2000
2001         No new tests. No change in behavior.
2002
2003         (WebCore::HarfBuzzShaperBase::setNormalizedBuffer):
2004         * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
2005         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
2006         (WebCore::normalizeCharacters):
2007         (WebCore::HarfBuzzShaper::HarfBuzzShaper):
2008
2009 2013-02-26  Dmitry Zvorygin  <zvorygin@chromium.org>
2010
2011         Merged Tip and Debug log levels for web console.
2012         https://bugs.webkit.org/show_bug.cgi?id=109919
2013
2014         Reviewed by Pavel Feldman.
2015
2016         In every component either TIP or DEBUG level was used for reporting,
2017         but not both. This patch is prerequisite for Web Inspector console log filtering.
2018
2019         * css/MediaList.cpp:
2020         (WebCore::addResolutionWarningMessageToConsole):
2021         * inspector/ConsoleMessage.cpp:
2022         (WebCore::messageLevelValue):
2023         * loader/appcache/ApplicationCacheGroup.cpp:
2024         (WebCore::ApplicationCacheGroup::abort):
2025         * page/Console.cpp:
2026         (WebCore::printMessageSourceAndLevelPrefix):
2027         * page/ConsoleTypes.h:
2028         * xml/XSLTProcessorLibxslt.cpp:
2029         (WebCore::XSLTProcessor::parseErrorFunc):
2030         * xml/XSLTProcessorQt.cpp:
2031         (WebCore::XSLTMessageHandler::handleMessage):
2032
2033 2013-02-26  Alberto Garcia  <agarcia@igalia.com>
2034
2035         [BlackBerry] Upstream the datalist support UI
2036         https://bugs.webkit.org/show_bug.cgi?id=110736
2037
2038         Reviewed by Rob Buis.
2039
2040         Original code by Otto Derek Cheung <otcheung@rim.com>
2041
2042         * css/themeBlackBerry.css:
2043         (input::-webkit-suggestion-dropdown-box):
2044         (input::-webkit-suggestion-dropdown-box-item):
2045         (input::-webkit-suggestion-prefix-text):
2046         (input::-webkit-suggestion-dropdown-box-item-last):
2047         * platform/blackberry/RenderThemeBlackBerry.cpp:
2048         (WebCore::RenderThemeBlackBerry::supportsDataListUI):
2049         (WebCore):
2050         * platform/blackberry/RenderThemeBlackBerry.h:
2051         (RenderThemeBlackBerry):
2052
2053 2013-02-26  Andrey Kosyakov  <caseq@chromium.org>
2054
2055         Web Inspector: plumb trace events to Timeline agent
2056         https://bugs.webkit.org/show_bug.cgi?id=105796
2057
2058         Reviewed by Pavel Feldman.
2059
2060         - plumb trace events to Timeline;
2061         - add TimelineTraceEventProcessor to process selected trace events;
2062         - emit timeline events from TimelineTraceEventProcessor.
2063
2064         Note that actual event processing logic is a separate change.
2065
2066         * CMakeLists.txt: Added TimelineTraceEventProcessor.{h,cpp}.
2067         * GNUmakefile.list.am:  Ditto.
2068         * Target.pri: Ditto.
2069         * WebCore.gypi: Ditto.
2070         * WebCore.vcproj/WebCore.vcproj: Ditto.
2071         * WebCore.xcodeproj/project.pbxproj: Ditto.
2072         * inspector/InspectorAllInOne.cpp: Ditto.
2073         * inspector/InspectorClient.h:
2074         (InspectorClient):
2075         (WebCore::InspectorClient::setTraceEventCallback):
2076         * inspector/InspectorTimelineAgent.cpp: create/destroy trace event processor on start/stop.
2077         (WebCore::InspectorTimelineAgent::start): 
2078         (WebCore::InspectorTimelineAgent::stop):
2079         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2080         (WebCore::InspectorTimelineAgent::page):
2081         (WebCore):
2082         * inspector/InspectorTimelineAgent.h:
2083         (WebCore):
2084         (InspectorTimelineAgent):
2085         * inspector/TimelineTraceEventProcessor.cpp: Added.
2086         (WebCore::TimelineTraceEventProcessor::TimelineTraceEventProcessor):
2087         (WebCore):
2088         (WebCore::TimelineTraceEventProcessor::~TimelineTraceEventProcessor):
2089         (WebCore::TimelineTraceEventProcessor::TraceEvent::parameter):
2090         (WebCore::TimelineTraceEventProcessor::processEventOnAnyThread):
2091         (WebCore::TimelineTraceEventProcessor::processEvent):
2092         (WebCore::TimelineTraceEventProcessor::sendTimelineRecord):
2093         (WebCore::TimelineTraceEventProcessor::processBackgroundEvents):
2094         * inspector/TimelineTraceEventProcessor.h: Added.
2095         (WebCore):
2096         (TimelineTraceEventProcessor):
2097         (TraceEvent):
2098         (WebCore::TimelineTraceEventProcessor::TraceEvent::TraceEvent):
2099         (WebCore::TimelineTraceEventProcessor::TraceEvent::timestamp):
2100         (WebCore::TimelineTraceEventProcessor::TraceEvent::phase):
2101         (WebCore::TimelineTraceEventProcessor::TraceEvent::name):
2102         (WebCore::TimelineTraceEventProcessor::TraceEvent::threadIdentifier):
2103         (WebCore::TimelineTraceEventProcessor::TraceEvent::argumentCount):
2104         (WebCore::TimelineTraceEventProcessor::TraceEvent::asBool):
2105         (WebCore::TimelineTraceEventProcessor::TraceEvent::asInt):
2106         (WebCore::TimelineTraceEventProcessor::TraceEvent::asUInt):
2107         (WebCore::TimelineTraceEventProcessor::TraceEvent::asDouble):
2108         (WebCore::TimelineTraceEventProcessor::TraceEvent::asString):
2109         (WebCore::TimelineTraceEventProcessor::EventTypeEntry::EventTypeEntry):
2110         (EventTypeEntry):
2111
2112 2013-02-18  Eugene Klyuchnikov  <eustas@chromium.org>
2113
2114         Web Inspector: Web Inspector: Specify return type of WebInspector.UIString
2115         https://bugs.webkit.org/show_bug.cgi?id=110095
2116
2117         Reviewed by Pavel Feldman.
2118
2119         Specify return type of WebInspector.UIString.
2120         Fix new js-compiler warnings.
2121
2122         This change will increase type coverage by 0.4% (to 81%)
2123
2124         * inspector/front-end/ObjectPropertiesSection.js: Fix type errors.
2125         * inspector/front-end/UIString.js:
2126         (WebInspector.UIString): Return type specified.
2127
2128 2013-02-26  Eugene Klyuchnikov  <eustas@chromium.org>
2129
2130         Web Inspector: [Resources] Cookies table looks empty.
2131         https://bugs.webkit.org/show_bug.cgi?id=110870
2132
2133         Reviewed by Pavel Feldman.
2134
2135         Fixed data-grid selector.
2136
2137         * inspector/front-end/resourcesPanel.css:
2138         (.storage-view .data-grid): Fixed selector.
2139
2140 2013-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
2141
2142         Web Inspector: Migrate FileSystem inspection support to ResourceTreeModel's SecurityOriginAdded/Removed events.
2143         https://bugs.webkit.org/show_bug.cgi?id=110878
2144
2145         Reviewed by Alexander Pavlov.
2146
2147         Recently added SecurityOriginAdded/Removed events support was essentially duplicated in
2148         FileSystemModel. This patch migrates FileSystem inspection support to new events.
2149
2150         * inspector/front-end/FileSystemModel.js:
2151         (WebInspector.FileSystemModel):
2152         (WebInspector.FileSystemModel.prototype._reset):
2153         (WebInspector.FileSystemModel.prototype._securityOriginAdded):
2154         (WebInspector.FileSystemModel.prototype._securityOriginRemoved):
2155         (WebInspector.FileSystemModel.prototype._addOrigin):
2156         (WebInspector.FileSystemModel.prototype._removeOrigin):
2157         (WebInspector.FileSystemModel.prototype.refreshFileSystemList):
2158
2159 2013-02-26  Antoine Quint  <graouts@apple.com>
2160
2161         Web Inspector: Cannot deep expand an element that has previously been partially expanded
2162         https://bugs.webkit.org/show_bug.cgi?id=110424
2163
2164         In the case where the children from the provided node have already been pushed, traverse
2165         children at the depth provided until we find children that have not been pushed yet.
2166
2167         Reviewed by Pavel Feldman.
2168
2169         * inspector/InspectorDOMAgent.cpp:
2170         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
2171
2172 2013-02-26  Andrey Kosyakov  <caseq@chromium.org>
2173
2174         Unreviewed, rolling out r144041, r144044, and r144048.
2175         http://trac.webkit.org/changeset/144041
2176         http://trac.webkit.org/changeset/144044
2177         http://trac.webkit.org/changeset/144048
2178         https://bugs.webkit.org/show_bug.cgi?id=105796
2179
2180         Broke build
2181
2182         * CMakeLists.txt:
2183         * GNUmakefile.list.am:
2184         * Target.pri:
2185         * WebCore.gypi:
2186         * WebCore.vcproj/WebCore.vcproj:
2187         * WebCore.xcodeproj/project.pbxproj:
2188         * inspector/InspectorAllInOne.cpp:
2189         * inspector/InspectorClient.h:
2190         * inspector/InspectorInstrumentation.cpp:
2191         (WebCore):
2192         (WebCore::InspectorInstrumentation::willPaintImpl):
2193         * inspector/InspectorInstrumentation.h:
2194         * inspector/InspectorTimelineAgent.cpp:
2195         (TimelineRecordType):
2196         (WebCore::InspectorTimelineAgent::start):
2197         (WebCore::InspectorTimelineAgent::stop):
2198         (WebCore::InspectorTimelineAgent::didBeginFrame):
2199         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2200         * inspector/InspectorTimelineAgent.h:
2201         (WebCore):
2202         (InspectorTimelineAgent):
2203         * inspector/TimelineRecordFactory.cpp:
2204         * inspector/TimelineRecordFactory.h:
2205         * inspector/TimelineTraceEventProcessor.cpp: Removed.
2206         * inspector/TimelineTraceEventProcessor.h: Removed.
2207         * inspector/front-end/TimelineModel.js:
2208         * inspector/front-end/TimelinePresentationModel.js:
2209         (WebInspector.TimelinePresentationModel._initRecordStyles):
2210
2211 2013-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
2212
2213         Web Inspector: Migrate IndexedDB support to ResourceTreeModel's SecurityOriginAdded/Removed events.
2214         https://bugs.webkit.org/show_bug.cgi?id=110863
2215
2216         Reviewed by Alexander Pavlov.
2217
2218         Recently added SecurityOriginAdded/Removed events support was essentially duplicated in
2219         IndexedDBModel. This patch migrates IndexedDB support to new events.
2220
2221         * inspector/Inspector.json:
2222         * inspector/InspectorIndexedDBAgent.cpp:
2223         (WebCore):
2224         (WebCore::InspectorIndexedDBAgent::requestDatabaseNames):
2225         (WebCore::InspectorIndexedDBAgent::requestDatabase):
2226         (WebCore::InspectorIndexedDBAgent::requestData):
2227         * inspector/InspectorIndexedDBAgent.h:
2228         (InspectorIndexedDBAgent):
2229         * inspector/front-end/IndexedDBModel.js:
2230         (WebInspector.IndexedDBModel):
2231         (WebInspector.IndexedDBModel.prototype._reset):
2232         (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
2233         (WebInspector.IndexedDBModel.prototype._securityOriginAdded):
2234         (WebInspector.IndexedDBModel.prototype._securityOriginRemoved):
2235         (WebInspector.IndexedDBModel.prototype._addOrigin):
2236         (WebInspector.IndexedDBModel.prototype._removeOrigin):
2237         (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
2238         (WebInspector.IndexedDBModel.prototype._loadDatabaseNames):
2239         (WebInspector.IndexedDBModel.prototype._loadDatabase):
2240         (WebInspector.IndexedDBModel.prototype.):
2241         (WebInspector.IndexedDBModel.prototype._requestData):
2242         * inspector/front-end/ResourceTreeModel.js:
2243         (WebInspector.ResourceTreeModel.prototype.securityOrigins):
2244
2245 2013-02-26  Alexander Pavlov  <apavlov@chromium.org>
2246
2247         Web Inspector: in protocol make field "securityOrigin" in type Page.Frame mandatory
2248         https://bugs.webkit.org/show_bug.cgi?id=80857
2249
2250         Reviewed by Vsevolod Vlasov.
2251
2252         Frame.securityOrigin has always been set to a valid value, so this change just fixes
2253         the protocol flaw.
2254
2255         * inspector/Inspector.json:
2256         * inspector/InspectorPageAgent.cpp:
2257         (WebCore::InspectorPageAgent::buildObjectForFrame):
2258         * inspector/front-end/ResourceTreeModel.js:
2259         (WebInspector.ResourceTreeFrame):
2260         (WebInspector.ResourceTreeFrame.prototype._navigate):
2261
2262 2013-02-26  Andrey Kosyakov  <caseq@chromium.org>
2263
2264         Unreviewed build fix following r144041.
2265
2266         * inspector/TimelineTraceEventProcessor.h:
2267         (WebCore::TimelineTraceEventProcessor::TraceEvent::TraceEvent):
2268
2269 2013-02-26  Vivek Galatage  <vivek.vg@samsung.com>
2270
2271         Web Inspector: DataGrid should reveal and select next/previous DataGridNode upon deletion of selected node
2272         https://bugs.webkit.org/show_bug.cgi?id=110862
2273
2274         Reviewed by Alexander Pavlov.
2275
2276         While deleting entries in the DataGrid, deleting of selected node should trigger selection of
2277         next possible (backward/forward) DataGridNode.
2278
2279         * inspector/front-end/DataGrid.js:
2280         (WebInspector.DataGrid.prototype._keyDown):
2281         (WebInspector.DataGridNode.prototype.get leftPadding):
2282         (WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle):
2283
2284 2013-02-26  Andrey Kosyakov  <caseq@chromium.org>
2285
2286         Web Inspector: show raster tasks on Timeline
2287         https://bugs.webkit.org/show_bug.cgi?id=105851
2288
2289         - add PaintLayer, Paint & RasterTask trace events handling to trace event processor;
2290         - upon begin frame, emit aggregated background event for all raster tasks related to the inspected page.
2291
2292         Reviewed by Pavel Feldman.
2293
2294         * inspector/InspectorInstrumentation.cpp:
2295         (WebCore):
2296         (WebCore::InspectorInstrumentation::willPaintImpl):
2297         (InstrumentationEvents):
2298         (InstrumentationEventArguments):
2299         * inspector/InspectorInstrumentation.h:
2300         (InstrumentationEvents):
2301         (WebCore):
2302         (InstrumentationEventArguments):
2303         * inspector/InspectorTimelineAgent.cpp:
2304         (TimelineRecordType):
2305         (WebCore::InspectorTimelineAgent::stop):
2306         (WebCore::InspectorTimelineAgent::didBeginFrame):
2307         * inspector/InspectorTimelineAgent.h:
2308         (TimelineRecordType):
2309         (WebCore):
2310         * inspector/TimelineRecordFactory.cpp:
2311         (WebCore::TimelineRecordFactory::createRasterData):
2312         (WebCore):
2313         * inspector/TimelineRecordFactory.h:
2314         (TimelineRecordFactory):
2315         * inspector/TimelineTraceEventProcessor.cpp:
2316         (WebCore::TimelineTraceEventProcessor::TimelineTraceEventProcessor):
2317         (WebCore::TimelineTraceEventProcessor::~TimelineTraceEventProcessor):
2318         (WebCore):
2319         (WebCore::TimelineTraceEventProcessor::registerHandler):
2320         (WebCore::TimelineTraceEventProcessor::shutdown):
2321         (WebCore::TimelineTraceEventProcessor::TraceEvent::findParameter):
2322         (WebCore::TimelineTraceEventProcessor::TraceEvent::parameter):
2323         (WebCore::TimelineTraceEventProcessor::processEventOnAnyThread):
2324         (WebCore::TimelineTraceEventProcessor::onBeginFrame):
2325         (WebCore::TimelineTraceEventProcessor::onPaintLayerBegin):
2326         (WebCore::TimelineTraceEventProcessor::onPaintLayerEnd):
2327         (WebCore::TimelineTraceEventProcessor::onRasterTaskBegin):
2328         (WebCore::TimelineTraceEventProcessor::onRasterTaskEnd):
2329         (WebCore::TimelineTraceEventProcessor::onLayerDeleted):
2330         (WebCore::TimelineTraceEventProcessor::onPaint):
2331         (WebCore::TimelineTraceEventProcessor::flushRasterizerStatistics):
2332         (WebCore::TimelineTraceEventProcessor::sendTimelineRecord):
2333         (WebCore::TimelineTraceEventProcessor::processBackgroundEvents):
2334         * inspector/TimelineTraceEventProcessor.h:
2335         (WebCore::TimelineTraceEventProcessor::TraceEvent::TraceEvent):
2336         (WebCore::TimelineTraceEventProcessor::TraceEvent::id):
2337         (WebCore::TimelineTraceEventProcessor::TraceEvent::asBool):
2338         (WebCore::TimelineTraceEventProcessor::TraceEvent::asInt):
2339         (WebCore::TimelineTraceEventProcessor::TraceEvent::asUInt):
2340         (WebCore::TimelineTraceEventProcessor::TraceEvent::asDouble):
2341         (TimelineTraceEventProcessor):
2342         * inspector/front-end/TimelineModel.js:
2343         * inspector/front-end/TimelinePresentationModel.js:
2344         (WebInspector.TimelinePresentationModel._initRecordStyles):
2345
2346 2013-02-26  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
2347
2348         Work around a MSVC 2012 Update 1 bug causing a crash on x86
2349         https://bugs.webkit.org/show_bug.cgi?id=110488
2350
2351         Reviewed by Anders Carlsson.
2352
2353         The crash happens when building with /O2, where TextEncodingNameHash::equal is
2354         incorrectly optimized with the inlined toASCIILower and uses a register already in use.
2355         The function returns false incorrectly, causing a mismatch of text encoding name which
2356         then results in a null pointer access.
2357
2358         Slightly rewording the use of the inline function lets the compiler produce correct code.
2359
2360         The bug has already been reported and should be fixed in the next release of MSVS later this year.
2361         https://connect.microsoft.com/VisualStudio/feedback/details/777533/vs2012-c-optimizing-bug-when-using-inline-and-char-return-type-x86-target-only
2362
2363         * platform/text/TextEncodingRegistry.cpp:
2364
2365 2013-02-01  Andrey Kosyakov  <caseq@chromium.org>
2366
2367         Web Inspector: plumb trace events to Timeline agent
2368         https://bugs.webkit.org/show_bug.cgi?id=105796
2369
2370         Reviewed by Pavel Feldman.
2371
2372         - plumb trace events to Timeline;
2373         - add TimelineTraceEventProcessor to process selected trace events;
2374         - emit timeline events from TimelineTraceEventProcessor.
2375
2376         Note that actual event processing logic is a separate change.
2377
2378         * CMakeLists.txt:
2379         * GNUmakefile.list.am:
2380         * Target.pri:
2381         * WebCore.gypi:
2382         * WebCore.vcproj/WebCore.vcproj:
2383         * WebCore.xcodeproj/project.pbxproj:
2384         * inspector/Inspector.json:
2385         * inspector/InspectorAllInOne.cpp:
2386         * inspector/InspectorClient.h:
2387         (InspectorClient):
2388         (WebCore::InspectorClient::setTraceEventCallback):
2389         * inspector/InspectorTimelineAgent.cpp:
2390         (WebCore::InspectorTimelineAgent::start):
2391         (WebCore::InspectorTimelineAgent::stop):
2392         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
2393         (WebCore::InspectorTimelineAgent::appendBackgroundThreadRecord):
2394         (WebCore):
2395         (WebCore::InspectorTimelineAgent::page):
2396         * inspector/InspectorTimelineAgent.h:
2397         (WebCore):
2398         (InspectorTimelineAgent):
2399         * inspector/TimelineTraceEventProcessor.cpp: Added.
2400         (WebCore::TimelineTraceEventProcessor::TimelineTraceEventProcessor):
2401         (WebCore):
2402         (WebCore::TimelineTraceEventProcessor::~TimelineTraceEventProcessor):
2403         (WebCore::TimelineTraceEventProcessor::TraceEvent::parameter):
2404         (WebCore::TimelineTraceEventProcessor::processEventOnAnyThread):
2405         (WebCore::TimelineTraceEventProcessor::processEvent):
2406         (WebCore::TimelineTraceEventProcessor::sendTimelineRecord):
2407         (WebCore::TimelineTraceEventProcessor::processBackgroundEvents):
2408         * inspector/TimelineTraceEventProcessor.h: Added.
2409         (WebCore):
2410         (TimelineTraceEventProcessor):
2411         (TraceEvent):
2412         (WebCore::TimelineTraceEventProcessor::TraceEvent::TraceEvent):
2413         (WebCore::TimelineTraceEventProcessor::TraceEvent::timestamp):
2414         (WebCore::TimelineTraceEventProcessor::TraceEvent::phase):
2415         (WebCore::TimelineTraceEventProcessor::TraceEvent::name):
2416         (WebCore::TimelineTraceEventProcessor::TraceEvent::threadIdentifier):
2417         (WebCore::TimelineTraceEventProcessor::TraceEvent::argumentCount):
2418         (WebCore::TimelineTraceEventProcessor::TraceEvent::asBool):
2419         (WebCore::TimelineTraceEventProcessor::TraceEvent::asInt):
2420         (WebCore::TimelineTraceEventProcessor::TraceEvent::asUInt):
2421         (WebCore::TimelineTraceEventProcessor::TraceEvent::asDouble):
2422         (WebCore::TimelineTraceEventProcessor::TraceEvent::asString):
2423         (WebCore::TimelineTraceEventProcessor::EventTypeEntry::EventTypeEntry):
2424         (EventTypeEntry):
2425         * inspector/front-end/TimelineFrameController.js:
2426         (WebInspector.TimelineFrameController.prototype._addRecord):
2427         * inspector/front-end/TimelinePanel.js:
2428         (WebInspector.TimelineRecordListRow.prototype.update):
2429         (WebInspector.TimelineRecordGraphRow.prototype.update):
2430         * inspector/front-end/TimelinePresentationModel.js:
2431         (WebInspector.TimelinePresentationModel.Record):
2432         (WebInspector.TimelinePresentationModel.insertRetrospecitveRecord):
2433         (WebInspector.TimelinePresentationModel.Record.prototype.get isBackground):
2434         * inspector/front-end/timelinePanel.css:
2435         (.timeline-tree-item.background .timeline-tree-icon):
2436         (.timeline-graph-side.background .timeline-graph-bar):
2437
2438 2013-02-01  Andrey Kosyakov  <caseq@chromium.org>
2439
2440         Web Inspector: display background events on Timeline
2441         https://bugs.webkit.org/show_bug.cgi?id=108599
2442
2443         Reviewed by Pavel Feldman.
2444
2445         - add optional `thread' field to timeline event;
2446         - if thread field is present, display the event as 'background' (hollow bar / list icon), align to nearest foreground event;
2447         - do not account background events in Frame mode of overview.
2448
2449         * inspector/Inspector.json:
2450         * inspector/InspectorTimelineAgent.cpp:
2451         (WebCore::InspectorTimelineAgent::appendBackgroundThreadRecord):
2452         (WebCore):
2453         * inspector/InspectorTimelineAgent.h:
2454         (InspectorTimelineAgent):
2455         * inspector/front-end/TimelineFrameController.js:
2456         (WebInspector.TimelineFrameController.prototype._addRecord):
2457         * inspector/front-end/TimelinePanel.js:
2458         (WebInspector.TimelineRecordListRow.prototype.update):
2459         (WebInspector.TimelineRecordGraphRow.prototype.update):
2460         * inspector/front-end/TimelinePresentationModel.js:
2461         (WebInspector.TimelinePresentationModel.Record):
2462         (WebInspector.TimelinePresentationModel.insertRetrospecitveRecord):
2463         (WebInspector.TimelinePresentationModel.Record.prototype.get isBackground):
2464         * inspector/front-end/timelinePanel.css:
2465         (.timeline-tree-item.background .timeline-tree-icon):
2466         (.timeline-graph-side.background .timeline-graph-bar):
2467
2468 2013-02-26  Kentaro Hara  <haraken@chromium.org>
2469
2470         [V8] Rename BatchedCallback to BatchedMethod
2471         https://bugs.webkit.org/show_bug.cgi?id=110791
2472
2473         Reviewed by Adam Barth.
2474
2475         Now 'Callback' is used to refer to functions that are called back
2476         by V8. DOM methods should be referred to as 'Method's.
2477
2478         No tests. No change in behavior.
2479
2480         * bindings/scripts/CodeGeneratorV8.pm:
2481         (GenerateImplementation):
2482         * bindings/scripts/test/V8/V8Float64Array.cpp:
2483         (WebCore):
2484         (WebCore::ConfigureV8Float64ArrayTemplate):
2485         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2486         (WebCore):
2487         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
2488         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2489         (WebCore):
2490         (WebCore::ConfigureV8TestEventTargetTemplate):
2491         * bindings/scripts/test/V8/V8TestInterface.cpp:
2492         (WebCore):
2493         (WebCore::ConfigureV8TestInterfaceTemplate):
2494         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2495         (WebCore):
2496         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
2497         * bindings/scripts/test/V8/V8TestObj.cpp:
2498         (WebCore):
2499         (WebCore::ConfigureV8TestObjTemplate):
2500         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2501         (WebCore):
2502         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
2503         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
2504         (WebCore):
2505         (WebCore::ConfigureV8TestTypedefsTemplate):
2506         * bindings/v8/V8DOMConfiguration.cpp:
2507         (WebCore::V8DOMConfiguration::batchConfigureCallbacks):
2508         (WebCore::V8DOMConfiguration::configureTemplate):
2509         * bindings/v8/V8DOMConfiguration.h:
2510         (V8DOMConfiguration):
2511
2512 2013-02-26  Takashi Toyoshima  <toyoshim@chromium.org>
2513
2514         Add User-Agent header in opening handshake headers.
2515         https://bugs.webkit.org/show_bug.cgi?id=110601
2516
2517         Reviewed by Alexey Proskuryakov.
2518
2519         RFC-6455 doesn't require to send User-Agent header, but allow it.
2520         Many web application developers want to have it, and Firefox already
2521         did it. This patch adds User-Agent header in opening handshake also in
2522         WebKit ports.
2523
2524         Test: http/tests/websocket/tests/hybi/useragent-in-openinghandshake.html
2525
2526         * Modules/websockets/WebSocketHandshake.cpp:
2527         (WebCore::WebSocketHandshake::clientHandshakeMessage):
2528         (WebCore::WebSocketHandshake::clientHandshakeRequest):
2529
2530 2013-02-26  Mike West  <mkwst@chromium.org>
2531
2532         XSSAuditor: Don't rely on implicit casting when copying the document's KURL to String.
2533         https://bugs.webkit.org/show_bug.cgi?id=110859
2534
2535         Reviewed by Jochen Eisinger.
2536
2537         XSSAuditor::init should explicitly make a thread-safe copy of the
2538         document's URL as a String rather than relying on implicit casting from
2539         a copy of the KURL.
2540
2541         This shouldn't change any visible behavior; all existing XSSAuditor
2542         tests should continue to pass. They'll now just be a bit more smug while
2543         doing so.
2544
2545         * html/parser/XSSAuditor.cpp:
2546         (WebCore::XSSAuditor::init):
2547
2548 2013-02-26  Takashi Sakamoto  <tasak@google.com>
2549
2550         Shadow DOM styles appear to be over-eagerly shared
2551         https://bugs.webkit.org/show_bug.cgi?id=110797
2552
2553         Reviewed by Dimitri Glazkov.
2554
2555         A style of a distributed node should not be shared, because the node
2556         might be affected by styles in a shadow dom tree, i.e. :distributed
2557         or something.
2558
2559         Test: fast/dom/shadow/no-style-sharing-with-distributed-nodes.html
2560
2561         * css/StyleResolver.cpp:
2562         (WebCore::StyleResolver::locateCousinList):
2563         Skip shadow hosts, because children of shadow hosts are distributed
2564         nodes and cannot share their styles.
2565
2566 2013-02-26  Adam Klein  <adamk@chromium.org>
2567
2568         Remove unused conditional includes of {MathML,SVG}Names.h
2569         https://bugs.webkit.org/show_bug.cgi?id=110809
2570
2571         Reviewed by Eric Seidel.
2572
2573         * html/parser/HTMLConstructionSite.cpp:
2574
2575 2013-02-26  Eric Seidel  <eric@webkit.org>
2576
2577         Threaded HTML parser fails fast/loader/stateobjects/state-attribute-history-getter.html
2578         https://bugs.webkit.org/show_bug.cgi?id=110801
2579
2580         Reviewed by Adam Barth.
2581
2582         This causes 6 more tests to pass for the threaded parser,
2583         an solves all of our timeout issues.
2584
2585         These tests which were failing were racy, we just were never
2586         hitting the race due to using file urls.  This change fixes
2587         the threaded parser to emulate one more of the EOF quirks from
2588         the loader/main-thread-parser interaction.
2589
2590         * html/parser/HTMLDocumentParser.cpp:
2591         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
2592
2593 2013-02-26  Alexander Pavlov  <apavlov@chromium.org>
2594
2595         Web Inspector: CSSAgent.setStyleSheetText crashes on inline styles
2596         https://bugs.webkit.org/show_bug.cgi?id=110359
2597
2598         Reviewed by Pavel Feldman.
2599
2600         * inspector/InspectorCSSAgent.cpp:
2601         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo): Pass ExceptionCode into setText().
2602         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::redo): Ditto.
2603         * inspector/InspectorStyleSheet.cpp:
2604         (WebCore::InspectorStyleSheet::setText): Make use of checkPageStyleSheet().
2605         (WebCore::InspectorStyleSheet::setRuleSelector): Ditto.
2606         (WebCore::InspectorStyleSheet::addRule): Ditto.
2607         (WebCore::InspectorStyleSheet::deleteRule): Ditto.
2608         (WebCore::InspectorStyleSheet::checkPageStyleSheet):
2609           Return NOT_SUPPORTED_ERR if no m_pageStyleSheet.
2610         (WebCore::InspectorStyleSheet::setStyleText): Check field directly.
2611         * inspector/InspectorStyleSheet.h:
2612
2613 2013-02-26  Tien-Ren Chen  <trchen@chromium.org>
2614
2615         Implement coordinated scrollbar for subframes and overflow:scroll
2616         https://bugs.webkit.org/show_bug.cgi?id=109560
2617
2618         Reviewed by James Robinson.
2619
2620         This patch obsoletes ScrollingCoordinatorPrivate for the Chromium
2621         implementation. Also removes the concept of a single main scrolling
2622         layer. Should use HashMap to keep track resources for multiple
2623         scrollable objects.
2624
2625         Many of the callbacks are extended to support ScrollableArea instead
2626         of just FrameView. Now ScrollingCoordinatorChromium coordinates
2627         scrollbars for both subframes and overflow:scroll.
2628
2629         Some drive-by change:
2630         1. Remove the GraphicsLayer parameter for layer change callbacks.
2631            Should be able to get the latest layer from the ScrollableArea anyway.
2632         2. Should start from main frame document when updating touch event target rects.
2633
2634         New chromium test: ScrollingCoordinatorChromiumTest.iframeScrolling
2635
2636         * page/Frame.cpp:
2637         (WebCore::Frame::willDetachPage):
2638         * page/FrameView.cpp:
2639         (WebCore::FrameView::prepareForDetach):
2640         (WebCore::FrameView::layerForScrolling):
2641         (WebCore):
2642         * page/FrameView.h:
2643         (FrameView):
2644         * page/scrolling/ScrollingCoordinator.cpp:
2645         (WebCore::ScrollingCoordinator::scrollLayerForScrollableArea):
2646         (WebCore):
2647         (WebCore::ScrollingCoordinator::horizontalScrollbarLayerForScrollableArea):
2648         (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea):
2649         * page/scrolling/ScrollingCoordinator.h:
2650         (WebCore::ScrollingCoordinator::willDestroyScrollableArea):
2651         (WebCore::ScrollingCoordinator::scrollableAreaScrollLayerDidChange):
2652         (WebCore::ScrollingCoordinator::scrollableAreaScrollbarLayerDidChange):
2653         (ScrollingCoordinator):
2654         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2655         (WebCore::scrollingWebLayerForGraphicsLayer):
2656         (WebCore::ScrollingCoordinatorChromium::scrollingWebLayerForScrollableArea):
2657         (WebCore::ScrollingCoordinatorChromium::ScrollingCoordinatorChromium):
2658         (WebCore::ScrollingCoordinatorChromium::~ScrollingCoordinatorChromium):
2659         (WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated):
2660         (WebCore::ScrollingCoordinatorChromium::touchEventTargetRectsDidChange):
2661         (WebCore::createScrollbarLayer):
2662         (WebCore::detachScrollbarLayer):
2663         (WebCore::setupScrollbarLayer):
2664         (WebCore::ScrollingCoordinatorChromium::willDestroyScrollableArea):
2665         (WebCore::ScrollingCoordinatorChromium::scrollableAreaScrollbarLayerDidChange):
2666         (WebCore::ScrollingCoordinatorChromium::setNonFastScrollableRegion):
2667         (WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRects):
2668         (WebCore::ScrollingCoordinatorChromium::setWheelEventHandlerCount):
2669         (WebCore::ScrollingCoordinatorChromium::setShouldUpdateScrollLayerPositionOnMainThread):
2670         (WebCore::ScrollingCoordinatorChromium::setLayerIsContainerForFixedPositionLayers):
2671         (WebCore::ScrollingCoordinatorChromium::setLayerIsFixedToContainerLayer):
2672         (WebCore::ScrollingCoordinatorChromium::scrollableAreaScrollLayerDidChange):
2673         (WebCore::ScrollingCoordinatorChromium::addWebScrollbarLayer):
2674         (WebCore):
2675         (WebCore::ScrollingCoordinatorChromium::getWebScrollbarLayer):
2676         (WebCore::ScrollingCoordinatorChromium::removeWebScrollbarLayer):
2677         * page/scrolling/chromium/ScrollingCoordinatorChromium.h:
2678         (WebCore):
2679         (ScrollingCoordinatorChromium):
2680         * page/scrolling/mac/ScrollingCoordinatorMac.h:
2681         (ScrollingCoordinatorMac):
2682         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2683         (WebCore::ScrollingCoordinatorMac::scrollableAreaScrollbarLayerDidChange):
2684         * platform/ScrollableArea.h:
2685         (ScrollableArea):
2686         (WebCore::ScrollableArea::layerForScrolling):
2687         * platform/graphics/GraphicsLayer.h:
2688         (GraphicsLayer):
2689         (WebCore::GraphicsLayer::setContentsToPlatformLayer):
2690         * rendering/RenderLayer.cpp:
2691         (WebCore::RenderLayer::~RenderLayer):
2692         (WebCore::RenderLayer::layerForScrolling):
2693         (WebCore):
2694         * rendering/RenderLayer.h:
2695         (RenderLayer):
2696         * rendering/RenderLayerBacking.cpp:
2697         (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
2698         (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
2699         (WebCore::RenderLayerBacking::updateScrollingLayers):
2700         * rendering/RenderLayerCompositor.cpp:
2701         (WebCore::RenderLayerCompositor::frameViewDidScroll):
2702         (WebCore::RenderLayerCompositor::scrollingLayerDidChange):
2703         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
2704
2705 2013-02-26  Kentaro Hara  <haraken@chromium.org>
2706
2707         [V8] Overloaded constructors don't need header declarations
2708         https://bugs.webkit.org/show_bug.cgi?id=110799
2709
2710         Reviewed by Adam Barth.
2711
2712         They are implemented as static functions in cpp files.
2713         Header declarations are not needed.
2714
2715         No tests. No change in behavior.
2716
2717         * bindings/scripts/CodeGeneratorV8.pm:
2718         (GenerateHeader):
2719         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
2720
2721 2013-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>
2722
2723         Unreviewed, rolling out r144016.
2724         http://trac.webkit.org/changeset/144016
2725         https://bugs.webkit.org/show_bug.cgi?id=110856
2726
2727         Breaks compilation on chromium mac (Requested by vsevik on
2728         #webkit).
2729
2730         * platform/chromium/KeyCodeConversionGtk.cpp:
2731         (WebCore::windowsKeyCodeForKeyEvent):
2732
2733 2013-02-26  Glenn Adams  <glenn@skynav.com>
2734
2735         Add support to -webkit-line-break property for CSS3 Text line-break property values and semantics.
2736         https://bugs.webkit.org/show_bug.cgi?id=89235
2737
2738         Reviewed by Eric Seidel.
2739
2740         This patch adds semantic support for the CSS3 line-break property (qua -webkit-line-break),
2741         and enables testing on (apple) mac ports. Follow on patches will enable these tests on
2742         other ports as they are incrementally verified.
2743
2744         See also wiki documentation at:
2745         [1] http://trac.webkit.org/wiki/LineBreaking
2746         [2] http://trac.webkit.org/wiki/LineBreakingCSS3Mapping
2747
2748         Tests: css3/line-break/line-break-auto-centered.html
2749                css3/line-break/line-break-auto-half-kana.html
2750                css3/line-break/line-break-auto-hyphens.html
2751                css3/line-break/line-break-auto-inseparables.html
2752                css3/line-break/line-break-auto-iteration-marks.html
2753                css3/line-break/line-break-auto-postfixes.html
2754                css3/line-break/line-break-auto-prefixes.html
2755                css3/line-break/line-break-auto-sound-marks.html
2756                css3/line-break/line-break-loose-centered.html
2757                css3/line-break/line-break-loose-half-kana.html
2758                css3/line-break/line-break-loose-hyphens.html
2759                css3/line-break/line-break-loose-inseparables.html
2760                css3/line-break/line-break-loose-iteration-marks.html
2761                css3/line-break/line-break-loose-postfixes.html
2762                css3/line-break/line-break-loose-prefixes.html
2763                css3/line-break/line-break-loose-sound-marks.html
2764                css3/line-break/line-break-normal-centered.html
2765                css3/line-break/line-break-normal-half-kana.html
2766                css3/line-break/line-break-normal-hyphens.html
2767                css3/line-break/line-break-normal-inseparables.html
2768                css3/line-break/line-break-normal-iteration-marks.html
2769                css3/line-break/line-break-normal-postfixes.html
2770                css3/line-break/line-break-normal-prefixes.html
2771                css3/line-break/line-break-normal-sound-marks.html
2772                css3/line-break/line-break-strict-centered.html
2773                css3/line-break/line-break-strict-half-kana.html
2774                css3/line-break/line-break-strict-hyphens.html
2775                css3/line-break/line-break-strict-inseparables.html
2776                css3/line-break/line-break-strict-iteration-marks.html
2777                css3/line-break/line-break-strict-postfixes.html
2778                css3/line-break/line-break-strict-prefixes.html
2779                css3/line-break/line-break-strict-sound-marks.html
2780
2781         These tests were previously added in http://trac.webkit.org/changeset/143378, but skipped
2782         in generic TestExpectations. In this patch, they are marked as Pass for the (apple) mac ports.
2783
2784         * platform/text/LineBreakIteratorPoolICU.h:
2785         (WebCore::LineBreakIteratorPool::makeLocaleWithBreakKeyword):
2786         Add static function to construct ICU locale argument (also used as pool key) with additional
2787         break keyword.
2788         (LineBreakIteratorPool):
2789         (WebCore::LineBreakIteratorPool::take):
2790         (WebCore::LineBreakIteratorPool::put):
2791         Remove direct dependency from ICU library (and types), moving that dependency into
2792         new {open,close}LineBreakIterator() functions (defined in TextBreakIteratorICU.cpp).
2793         Update to take line break mode into account.
2794         Create (and cache) different break iterators depending on line break mode (in addition to locale),
2795         which entails expanding pool entry key format to optionally append "@break=" +
2796         "loose"|"normal"|"strict" keyword to locale string.
2797
2798         * platform/text/TextBreakIterator.h:
2799         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
2800         (WebCore::LazyLineBreakIterator::isLooseCJKMode):
2801         (WebCore::LazyLineBreakIterator::get):
2802         (WebCore::LazyLineBreakIterator::reset):
2803         (LazyLineBreakIterator):
2804         Define LineBreakIteratorMode enumeration for use in TextBreakIterator et al.
2805         Add state member to indicate line break mode.
2806
2807         * platform/text/TextBreakIteratorICU.cpp:
2808         (WebCore::acquireLineBreakIterator):
2809         Use new line break mode when making iterator from pool.
2810         Handle change of return type of LineBreakIteratorPool::take() to non-ICU type,
2811         i.e., TextBreakIterator* instead of ICU's UBreakIterator*.
2812         (WebCore::releaseLineBreakIterator):
2813         Handle change of parameter type of LineBreakIteratorPool::put() to non-ICU type,
2814         i.e., TextBreakIterator* instead of ICU's UBreakIterator*.
2815         (WebCore):
2816         (WebCore::isCJKLocale):
2817         New functions for determining if CJK rules apply.
2818         (WebCore::openLineBreakIterator):
2819         New function for abstracting opening of ICU style line break iterator. This is now
2820         used in LineBreakIteratorPoolICU.h rather than having direct ICU API dependency there.
2821         This function also takes into account the line break mode.
2822         (WebCore::closeLineBreakIterator):
2823         (WebCore::mapLineIteratorModeToRules):
2824         New function for abstracting closing of ICU style line break iterator. This is now
2825         used in LineBreakIteratorPoolICU.h rather than having direct ICU API dependency there.
2826
2827         * rendering/RenderBlockLineLayout.cpp:
2828         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
2829         Pass line break iterator mode flag when reseting LazyLineBreakIterator.
2830         Add looseMode local variable to prevent need for computing under isBreakable().
2831
2832         * rendering/RenderText.cpp:
2833         (WebCore::mapLineBreakToIteratorMode):
2834         Add implementation for mapLineBreakToIteratorMode(), used by both RenderText::computePreferredLogicalWidths
2835         and RenderBlock::LineBreaker::nextLineBreak.
2836         (WebCore):
2837         (WebCore::RenderText::computePreferredLogicalWidths):
2838         Ensure (lazy line) breakIterator is initialized for line break mode.
2839         Ensure isBreakable() is passed loose mode flag to match behavior in RenderBlock::LineBreaker::nextLineBreak.
2840
2841         * rendering/RenderText.h:
2842         (WebCore):
2843         Add declaration for mapLineBreakToIteratorMode(), used by both RenderText::computePreferredLogicalWidths
2844         and RenderBlock::LineBreaker::nextLineBreak.
2845
2846         * rendering/break_lines.cpp:
2847         (WebCore):
2848         Introduce (local) enum NBSPBehavior for expanding template on nextBreakablePosition.
2849         (WebCore::isBreakableSpace):
2850         Add externally specified loose mode parameter to prevent need to invoke line break iterator
2851         accessor method on each invocation. Use new loose mode flavors off NBP functions.
2852         (WebCore::needsLineBreakIterator):
2853         Use enum NBSP behavior template parameter rather than boolean.
2854         (WebCore::nextBreakablePositionNonLoosely):
2855         Extend name to distinguish from loose flavor of this function.
2856         (WebCore::nextBreakablePositionLoosely):
2857         Add loose flavor of NBP invoked only when loose mode applies, in which case ASCII shortcut
2858         table cannot be used.
2859         (WebCore::nextBreakablePosition):
2860         (WebCore::nextBreakablePositionIgnoringNBSP):
2861         Use (renamed) non-loose flavor of NBP.
2862         (WebCore::nextBreakablePositionLoose):
2863         (WebCore::nextBreakablePositionIgnoringNBSPLoose):
2864         Introduce loose flavor of NBP template expansions.
2865
2866         * rendering/break_lines.h:
2867         (WebCore):
2868         (WebCore::isBreakable):
2869         Add externally specified loose mode parameter to prevent need to invoke line break iterator
2870         accessor method on each invocation.
2871
2872 2013-02-26  James Weatherall  <wez@chromium.org>
2873
2874         keydown and keyup events have zero keycode for some numeric pad keys under Chromium on Linux
2875         https://bugs.webkit.org/show_bug.cgi?id=85642
2876
2877         Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.
2878
2879         Reviewed by Ojan Vafai.
2880
2881         * platform/chromium/KeyCodeConversionGtk.cpp:
2882         (WebCore::windowsKeyCodeForKeyEvent):
2883
2884 2013-02-25  Adam Barth  <abarth@webkit.org>
2885
2886         6% regression in intl1 page cycler on chromium-mac
2887         https://bugs.webkit.org/show_bug.cgi?id=110784
2888
2889         Unreviewed.
2890
2891         This patch restores the code that I rolled out in
2892         http://trac.webkit.org/changeset/143960 and
2893         http://trac.webkit.org/changeset/143983. Rolling out those patches did
2894         not heal the bot.
2895
2896         * dom/Element.cpp:
2897         (WebCore::Element::addAttributeInternal):
2898         (WebCore::ShareableElementData::ShareableElementData):
2899         (WebCore::UniqueElementData::makeShareableCopy):
2900         (WebCore::UniqueElementData::addAttribute):
2901         (WebCore::UniqueElementData::removeAttribute):
2902         (WebCore::ElementData::reportMemoryUsage):
2903         (WebCore::UniqueElementData::getAttributeItem):
2904         (WebCore):
2905         (WebCore::UniqueElementData::attributeItem):
2906         * dom/Element.h:
2907         (ElementData):
2908         (UniqueElementData):
2909         (WebCore::isShadowHost):
2910         (WebCore::ElementData::length):
2911         (WebCore::ElementData::attributeItem):
2912         * html/parser/BackgroundHTMLParser.cpp:
2913         (WebCore::BackgroundHTMLParser::resumeFrom):
2914         (WebCore::BackgroundHTMLParser::pumpTokenizer):
2915         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
2916         * html/parser/CSSPreloadScanner.cpp:
2917         (WebCore):
2918         (WebCore::CSSPreloadScanner::scanCommon):
2919         (WebCore::CSSPreloadScanner::scan):
2920         (WebCore::CSSPreloadScanner::emitRule):
2921         * html/parser/CSSPreloadScanner.h:
2922         (CSSPreloadScanner):
2923         * html/parser/HTMLDocumentParser.cpp:
2924         (WebCore::HTMLDocumentParser::startBackgroundParser):
2925         * html/parser/HTMLPreloadScanner.cpp:
2926         (WebCore::TokenPreloadScanner::tagIdFor):
2927         (WebCore):
2928         (WebCore::TokenPreloadScanner::initiatorFor):
2929         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
2930         (TokenPreloadScanner::StartTagScanner):
2931         (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
2932         (WebCore::TokenPreloadScanner::createCheckpoint):
2933         (WebCore::TokenPreloadScanner::rewindTo):
2934         (WebCore::TokenPreloadScanner::scan):
2935         (WebCore::TokenPreloadScanner::scanCommon):
2936         (WebCore::TokenPreloadScanner::updatePredictedBaseURL):
2937         (WebCore::HTMLPreloadScanner::scan):
2938         * html/parser/HTMLPreloadScanner.h:
2939         (TokenPreloadScanner):
2940         (WebCore::TokenPreloadScanner::isSafeToSendToAnotherThread):
2941         (WebCore::TokenPreloadScanner::Checkpoint::Checkpoint):
2942         (Checkpoint):
2943
2944 2013-02-25  Chris Rogers  <crogers@google.com>
2945
2946         AudioDestinationChromium should pass in inputDeviceId when creating WebKit::WebAudioDevice
2947         https://bugs.webkit.org/show_bug.cgi?id=110796
2948
2949         Reviewed by Kenneth Russell.
2950
2951         * platform/audio/chromium/AudioDestinationChromium.cpp:
2952         (WebCore::AudioDestinationChromium::AudioDestinationChromium):
2953
2954 2013-02-25  Mark Lam  <mark.lam@apple.com>
2955
2956         Need a more robust WebSQL disk usage computation.
2957         https://bugs.webkit.org/show_bug.cgi?id=110805.
2958
2959         Reviewed by Geoffrey Garen.
2960
2961         - Changed DatabaseTracker::usageForOrigin() to compute the disk usage
2962           for a specified origin by fetching database sizes from the file system
2963           instead of using cached file size values.
2964
2965         - The OriginQuotaManager and OriginUsageRecord are no longer needed.
2966           Updated build files to reflect this.
2967
2968         - Removed getMaxSizeForDatabase() from DatabaseManager, DatabaseServer,
2969           and AbstractDatabaseServer since it is only needed in the backend.
2970
2971         - DatabaseTracker::getMaxSizeForDatabase() now calls usageForOrigin()
2972           to get the disk usage for its computation.
2973
2974         - The performance difference for this changes is a 1.6% degradation
2975           per additional database whose size needs to be fetched. This is a
2976           worst case estimated based on the disk-stat-speed-test.html benchmark
2977           (attached to bugzilla). The benchmark writes an average of 16 bytes per
2978           transaction. Most real-world transactions will likely write more
2979           content than that. Since disk write IO time will dominate over memory
2980           read time for fetching the file size, the degradation ratio will only
2981           reduce with larger workloads.
2982
2983         No layout test, but there is a quota-test.html attached to bugzilla.
2984         The test is a webpage that can be loaded into multiple tabs to
2985         consuming storage space. While the test is running, we can run a
2986         "du -k; du -k *" on the database directory to verify that the total
2987         disk usage does not far exceed the allowed quota (some small error
2988         is expected). Without this change, each database from each tab may
2989         exceed the quota by that same maginitude of error.
2990
2991         * CMakeLists.txt:
2992         * GNUmakefile.list.am:
2993         * Modules/webdatabase/AbstractDatabaseServer.h:
2994         * Modules/webdatabase/Database.cpp:
2995         * Modules/webdatabase/Database.h:
2996         * Modules/webdatabase/DatabaseBackendBase.cpp:
2997         (WebCore::DatabaseBackendBase::maximumSize):
2998         * Modules/webdatabase/DatabaseManager.cpp:
2999         * Modules/webdatabase/DatabaseManager.h:
3000         * Modules/webdatabase/DatabaseServer.cpp:
3001         * Modules/webdatabase/DatabaseServer.h:
3002         * Modules/webdatabase/DatabaseTracker.cpp:
3003         (WebCore::DatabaseTracker::hasAdequateQuotaForOrigin):
3004         (WebCore::DatabaseTracker::canEstablishDatabase):
3005         (WebCore::DatabaseTracker::retryCanEstablishDatabase):
3006         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
3007         (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
3008         (WebCore::DatabaseTracker::fullPathForDatabase):
3009         (WebCore::DatabaseTracker::addOpenDatabase):
3010         (WebCore::DatabaseTracker::removeOpenDatabase):
3011         (WebCore::DatabaseTracker::usageForOrigin):
3012         (WebCore::DatabaseTracker::deleteOrigin):
3013         (WebCore::DatabaseTracker::deleteDatabase):
3014         * Modules/webdatabase/DatabaseTracker.h:
3015         * Modules/webdatabase/OriginQuotaManager.cpp: Removed.
3016         * Modules/webdatabase/OriginQuotaManager.h: Removed.
3017         * Modules/webdatabase/OriginUsageRecord.cpp: Removed.
3018         * Modules/webdatabase/OriginUsageRecord.h: Removed.
3019         * Modules/webdatabase/SQLTransactionBackend.cpp:
3020         (WebCore::SQLTransactionBackend::runCurrentStatementAndGetNextState):
3021         * Modules/webdatabase/SQLTransactionBackendSync.cpp:
3022         (WebCore::SQLTransactionBackendSync::executeSQL):
3023         * Modules/webdatabase/SQLTransactionClient.cpp:
3024         * Modules/webdatabase/SQLTransactionClient.h:
3025         * Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp:
3026         * Target.pri:
3027         * WebCore.gyp/WebCore.gyp:
3028         * WebCore.gypi:
3029         * WebCore.vcproj/WebCore.vcproj:
3030         * WebCore.vcxproj/WebCore.vcxproj:
3031         * WebCore.vcxproj/WebCore.vcxproj.filters:
3032         * WebCore.xcodeproj/project.pbxproj:
3033
3034 2013-02-25  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
3035
3036         [texmap] Rename TextureMapperGL::ClipStack::init to reset
3037         https://bugs.webkit.org/show_bug.cgi?id=110783
3038
3039         Reviewed by Noam Rosenthal.
3040
3041         Functions named init() are usually called inside ctor's to initialize
3042         member variables that were unable to be assigned on an initialization
3043         list, which is not the case, and also because reset() better reflects
3044         the behavior (clears the clip stack and assigns a value to the initial
3045         clip state).
3046
3047         No behavior changes, thus covered by existing tests.
3048
3049         * platform/graphics/texmap/TextureMapperGL.cpp:
3050         (WebCore::TextureMapperGL::ClipStack::reset):
3051         (WebCore::TextureMapperGL::beginPainting):
3052         (WebCore::BitmapTextureGL::initializeDepthBuffer):
3053         * platform/graphics/texmap/TextureMapperGL.h:
3054         (ClipStack):
3055
3056 2013-02-25  Adam Barth  <abarth@webkit.org>
3057
3058         Threaded HTML parser should pass fast/parser/iframe-sets-parent-to-javascript-url.html
3059         https://bugs.webkit.org/show_bug.cgi?id=110637
3060
3061         Reviewed by Eric Seidel.
3062
3063         With the main thread parser, we always parse the first chunk of content
3064         returned as the result of evaluating a JavaScript URL synchronously. In
3065         particular, if the first chunk has an inline script, we'll execute it
3066         synchronously.
3067
3068         Previous to this patch, the threaded parser would always parse this
3069         content asynchronously. It's conceivable that there could be some
3070         content relying on the synchronous behavior, so this patch introduces
3071         the notion of "pinning" a parser to the main thread and uses that
3072         concept to force the result of JavaScript URLs to be parsed on the main
3073         thread (which is probably desirable anyway because they're likely to be
3074         quite short).
3075
3076         This patch fixes fast/parser/iframe-sets-parent-to-javascript-url.html
3077         and fast/dom/javascript-url-crash-function.html with the threaded
3078         parser with --enable-threaded-html-parser.
3079
3080         * dom/DocumentParser.h:
3081         (WebCore::DocumentParser::pinToMainThread):
3082         (DocumentParser):
3083         * html/parser/HTMLDocumentParser.cpp:
3084         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
3085         (WebCore):
3086         (WebCore::HTMLDocumentParser::pinToMainThread):
3087         * html/parser/HTMLDocumentParser.h:
3088         (HTMLDocumentParser):
3089         (WebCore::HTMLDocumentParser::shouldUseThreading):
3090         * loader/DocumentWriter.cpp:
3091         (WebCore::DocumentWriter::replaceDocument):
3092
3093 2013-02-25  Jessie Berlin  <jberlin@apple.com>
3094
3095         Update the localizable strings file.
3096
3097         Rubber-stamped by Anders Carlsson.
3098
3099         * English.lproj/Localizable.strings:
3100
3101 2013-02-25  Xueqing Huang  <huangxueqing@baidu.com>
3102
3103         Flexbox should ignore firstLetter pseudo element.
3104         https://bugs.webkit.org/show_bug.cgi?id=105126
3105
3106         Reviewed by Tony Chang.
3107
3108         The CSS WG decided that first-line and first-letter should not
3109         apply to flex containers.
3110         http://dev.w3.org/csswg/css3-flexbox/issue-cr-2012#issue-13
3111
3112         tests:
3113         css3/flexbox/flexbox-ignore-firstLetter.html
3114         css3/flexbox/flexbox-ignore-container-firstLetter.html       
3115
3116         * rendering/RenderBlock.cpp:
3117         (WebCore::findFirstLetterBlock):
3118
3119 2013-02-25  Simon Fraser  <simon.fraser@apple.com>
3120
3121         Lots of unnecessary DidLayout notifications when scrolling zoomed page with iframes
3122         https://bugs.webkit.org/show_bug.cgi?id=110824
3123
3124         Reviewed by Tim Horton.
3125         
3126         RenderWidget::setWidgetGeometry() compares the old and new frame rects to decide
3127         if the geometry changed. However, it use implicit IntRect->LayoutRect promotion in
3128         the comparison, and then roundedIntRect() in setting. Thus the code would think
3129         that the geometry changed, even when the final assigned frame did not.
3130         
3131         Fix by computing the new frame using roundedIntRect(), and using that to determine
3132         whether the geometry changed.
3133
3134         No way to test DidLayout notifications in DRT/WTR.
3135
3136         * rendering/RenderWidget.cpp:
3137         (WebCore::RenderWidget::setWidgetGeometry):
3138
3139 2013-02-21  Jeffrey Pfau  <jpfau@apple.com>
3140
3141         Optionally partition cache to prevent using cache for tracking
3142         https://bugs.webkit.org/show_bug.cgi?id=110269
3143
3144         Reviewed by Maciej Stachowiak.
3145
3146         Implement memory cache partitioning by passing the cache name through
3147         resource requests into a new version of resourceForURL.
3148
3149         Test: http/tests/cache/partitioned-cache.html
3150
3151         * Configurations/FeatureDefines.xcconfig: Add defines for cache partitioning and public suffix list usage
3152         * WebCore.exp.in: Export new functions for WKSI and test suite
3153         * WebCore.xcodeproj/project.pbxproj:
3154         * html/DOMURL.cpp:
3155         (WebCore::DOMURL::revokeObjectURL): Retrofit for new resourceForRequest function
3156         * inspector/InspectorPageAgent.cpp:
3157         (WebCore::InspectorPageAgent::cachedResource): Retrofit for new resourceForRequest function
3158         * inspector/InspectorResourceAgent.cpp:
3159         (WebCore::InspectorResourceAgent::replayXHR): Retrofit for new resourceForRequest function
3160         * loader/DocumentLoader.h:
3161         (DocumentLoader):
3162         (WebCore::DocumentLoader::recordMemoryCacheLoadForFutureClientNotification): Retrofit for new resourceForRequest function
3163         (WebCore::DocumentLoader::takeMemoryCacheLoadsForClientNotification): Retrofit for new resourceForRequest function
3164         * loader/FrameLoader.cpp:
3165         (WebCore::FrameLoader::loadedResourceFromMemoryCache): Retrofit for new resourceForRequest function
3166         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): Retrofit for new resourceForRequest function
3167         * loader/archive/cf/LegacyWebArchive.cpp:
3168         (WebCore::LegacyWebArchive::create): Retrofit for new resourceForRequest function
3169         * loader/cache/CachedResource.cpp:
3170         (WebCore::CachedResource::~CachedResource):
3171         * loader/cache/CachedResource.h: Retrofit for new resourceForRequest function
3172         (CachedResource):
3173         (WebCore::CachedResource::cachePartition):
3174         * loader/cache/CachedResourceLoader.cpp:
3175         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): Retrofit for new resourceForRequest function
3176         (WebCore::CachedResourceLoader::requestResource): Retrofit for new resourceForRequest function
3177         (WebCore::CachedResourceLoader::loadResource): Retrofit for new resourceForRequest function
3178         * loader/cache/MemoryCache.cpp:
3179         (WebCore):
3180         (WebCore::partitionName): Add function for determining absolute partition name
3181         (WebCore::MemoryCache::add): Retrofit for partition mapping
3182         (WebCore::MemoryCache::revalidationSucceeded): Retrofit for partition mapping
3183         (WebCore::MemoryCache::resourceForURL): Call into new resourceForRequest
3184         (WebCore::MemoryCache::resourceForRequest): Retrofit for partition mapping
3185         (WebCore::MemoryCache::evict): Retrofit for partition mapping
3186         (WebCore::MemoryCache::removeResourcesWithOrigin): Retrofit for partition mapping
3187         (WebCore::MemoryCache::getOriginsWithCache): Retrofit for partition mapping
3188         (WebCore::MemoryCache::removeUrlFromCache): Retrofit for partition mapping
3189         (WebCore::MemoryCache::removeRequestFromCache): Retrofit for partition mapping
3190         (WebCore::MemoryCache::removeRequestFromCacheImpl): Retrofit for partition mapping
3191         (WebCore::MemoryCache::crossThreadRemoveRequestFromCache): Add function for calling removeRequestFromCacheImpl that takes a CrossThreadResourceRequestData
3192         (WebCore::MemoryCache::getStatistics): Retrofit for partition mapping
3193         (WebCore::MemoryCache::setDisabled): Retrofit for partition mapping
3194         * loader/cache/MemoryCache.h:
3195         (MemoryCache):
3196         * page/SecurityOrigin.cpp:
3197         (WebCore):
3198         (WebCore::SecurityOrigin::cachePartition): Add function for determining the cache partition name
3199         * page/SecurityOrigin.h:
3200         (SecurityOrigin):
3201         * platform/PublicSuffix.h: Added.
3202         (WebCore):
3203         * platform/mac/PublicSuffixMac.mm: Added.
3204         (WebCore):
3205         (WebCore::isPublicSuffix):
3206         (WebCore::topPrivatelyControlledDomain):
3207         * platform/mac/WebCoreSystemInterface.h:
3208         * platform/mac/WebCoreSystemInterface.mm:
3209         * platform/network/cf/ResourceRequest.h:
3210         (ResourceRequest):
3211         (WebCore::ResourceRequest::cachePartition):
3212         (WebCore::ResourceRequest::setCachePartition):
3213         (CrossThreadResourceRequestData):
3214         * platform/network/cf/ResourceRequestCFNet.cpp:
3215         (WebCore::ResourceRequest::doPlatformCopyData): Pass through cache partition name
3216         (WebCore):
3217         (WebCore::ResourceRequest::doPlatformAdopt): Pass through cache partition name
3218         * platform/network/mac/ResourceRequestMac.mm:
3219         (WebCore::ResourceRequest::doUpdateResourceRequest): Pass through cache partition name
3220         (WebCore::ResourceRequest::doUpdatePlatformRequest): Pass through cache partition name
3221
3222 2013-02-25  Jer Noble  <jer.noble@apple.com>
3223
3224         Normalize ENABLE_ENCRYPTED_MEDIA definitions across all FeatureDefines files.
3225         https://bugs.webkit.org/show_bug.cgi?id=110806
3226
3227         Reviewed by Alexey Proskuryakov.
3228
3229         Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.
3230
3231         * Configurations/FeatureDefines.xcconfig:
3232
3233         Fix some build errors which occurred when both ENCRYPTED_MEDIA and 
3234         ENCRYPTED_MEDIA_V2 were enabled:
3235         * html/HTMLMediaElement.cpp:
3236         (WebCore::HTMLMediaElement::webkitGenerateKeyRequest):
3237         (WebCore::HTMLMediaElement::webkitAddKey):
3238         * page/DOMWindow.idl:
3239
3240 2013-02-25  Adam Barth  <abarth@webkit.org>
3241
3242         6% regression in intl1 page cycler on chromium-mac
3243         https://bugs.webkit.org/show_bug.cgi?id=110784
3244
3245         Reviewed by Eric Seidel.
3246
3247         This patch reverts http://trac.webkit.org/changeset/143014 to see if
3248         that's the cause of the PLT regression. If it's not the cause, I'll
3249         roll it back in.
3250
3251         * dom/Element.cpp:
3252         (WebCore::Element::addAttributeInternal):
3253         (WebCore::ShareableElementData::ShareableElementData):
3254         (WebCore::UniqueElementData::makeShareableCopy):
3255         (WebCore::ElementData::addAttribute):
3256         (WebCore::ElementData::removeAttribute):
3257         (WebCore::ElementData::reportMemoryUsage):
3258         * dom/Element.h:
3259         (ElementData):
3260         (UniqueElementData):
3261         (WebCore::ElementData::mutableAttributeVector):
3262         (WebCore):
3263         (WebCore::ElementData::immutableAttributeArray):
3264         (WebCore::ElementData::length):
3265         (WebCore::ElementData::getAttributeItem):
3266         (WebCore::ElementData::attributeItem):
3267
3268 2013-02-25  Tim Horton  <timothy_horton@apple.com>
3269
3270         Page::m_isInWindow is uninitialized
3271         https://bugs.webkit.org/show_bug.cgi?id=110807
3272
3273         Reviewed by Simon Fraser.
3274
3275         Ideally m_isInWindow and m_isOnscreen would default to false, and be flipped to true
3276         when the Page is put in-window or on-screen. However, only the Mac port seems to ever
3277         call setIsInWindow/didMoveOnscreen. So, we have to default to true and flip it to false
3278         immediately after construction on Mac.
3279
3280         This is just matching the behaviour of the existing m_isOnscreen.
3281
3282         * page/Page.cpp:
3283         (WebCore::Page::Page): Initialize m_isInWindow to true.
3284
3285 2013-02-25  Kentaro Hara  <haraken@chromium.org>
3286
3287         Unreviewed build fix after r143965.
3288
3289         * bindings/scripts/CodeGeneratorV8.pm:
3290         (GenerateOverloadedConstructorCallback):
3291         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
3292         (WebCore::TestOverloadedConstructorsV8Internal::constructor):
3293
3294 2013-02-25  Gustavo Noronha Silva  <gns@gnome.org>
3295
3296         Build fix for gtk2-based library.
3297
3298         Reviewed by Martin Robinson.
3299
3300         * platform/gtk/WidgetRenderingContext.cpp: move gtk2 check to after the config.h
3301         include, which is the one that includes autotoolsconfig.h, where the gtk2 define
3302         lives.
3303
3304 2013-02-25  Sheriff Bot  <webkit.review.bot@gmail.com>
3305
3306         Unreviewed, rolling out r143936.
3307         http://trac.webkit.org/changeset/143936
3308         https://bugs.webkit.org/show_bug.cgi?id=110789
3309
3310         Causes webkit_unit_tests failures on android dbg (Requested by
3311         vollick on #webkit).
3312
3313         * platform/image-decoders/gif/GIFImageDecoder.cpp:
3314         (WebCore::GIFImageDecoder::GIFImageDecoder):
3315         (WebCore::GIFImageDecoder::setData):
3316         (WebCore::GIFImageDecoder::frameCount):
3317         (WebCore::GIFImageDecoder::decodingHalted):
3318         (WebCore):
3319         (WebCore::GIFImageDecoder::haveDecodedRow):
3320         (WebCore::GIFImageDecoder::decode):
3321         * platform/image-decoders/gif/GIFImageDecoder.h:
3322         (GIFImageDecoder):
3323         * platform/image-decoders/gif/GIFImageReader.cpp:
3324         (GIFImageReader::doLZW):
3325         (GIFImageReader::read):
3326         * platform/image-decoders/gif/GIFImageReader.h:
3327         (GIFFrameContext):
3328         (GIFFrameContext::GIFFrameContext):
3329         (GIFFrameContext::~GIFFrameContext):
3330         (GIFImageReader::GIFImageReader):
3331         (GIFImageReader::~GIFImageReader):
3332         (GIFImageReader):
3333         (GIFImageReader::globalColormap):
3334         (GIFImageReader::globalColormapSize):
3335
3336 2013-02-25  Kentaro Hara  <haraken@chromium.org>
3337
3338         [V8] Generate a wrapper function for method callbacks
3339         https://bugs.webkit.org/show_bug.cgi?id=110769
3340
3341         Reviewed by Adam Barth.
3342
3343         This is one of steps to insert TRACE_EVENT_STATE() macros
3344         into DOM bindings. This patch introduces an indirection
3345         function for xxxMethod(), like this:
3346
3347         // For non-custom methods
3348         void xxxMethodCallback(...) {
3349           xxxMethod(...);
3350         }
3351
3352         // For custom methods
3353         void xxxMethodCallback(...) {
3354           return xxxMethodCustom(...);
3355         }
3356
3357         No tests. No change in behavior.
3358
3359         * bindings/scripts/CodeGeneratorV8.pm:
3360         (GenerateDomainSafeFunctionGetter):
3361         (GenerateOverloadedFunction):
3362         (GenerateFunctionCallback):
3363         (GenerateFunction):
3364         (GenerateNonStandardFunction):
3365         (GenerateImplementation):
3366         (GenerateFunctionCallString):
3367         * bindings/scripts/test/V8/V8Float64Array.cpp:
3368         (WebCore::Float64ArrayV8Internal::fooMethodCallback):
3369         (Float64ArrayV8Internal):
3370         (WebCore::Float64ArrayV8Internal::setMethodCallback):
3371         (WebCore):
3372         (WebCore::ConfigureV8Float64ArrayTemplate):
3373         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
3374         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionMethodCallback):
3375         (TestActiveDOMObjectV8Internal):
3376         (WebCore::TestActiveDOMObjectV8Internal::postMessageMethodCallback):
3377         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
3378         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
3379         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3380         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionMethodCallback):
3381         (TestCustomNamedGetterV8Internal):
3382         (WebCore):
3383         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3384         (WebCore::TestEventTargetV8Internal::itemMethodCallback):
3385         (TestEventTargetV8Internal):
3386         (WebCore::TestEventTargetV8Internal::addEventListenerMethodCallback):
3387         (WebCore::TestEventTargetV8Internal::removeEventListenerMethodCallback):
3388         (WebCore::TestEventTargetV8Internal::dispatchEventMethodCallback):
3389         (WebCore):
3390         (WebCore::ConfigureV8TestEventTargetTemplate):
3391         * bindings/scripts/test/V8/V8TestInterface.cpp:
3392         (WebCore::TestInterfaceV8Internal::supplementalMethod1MethodCallback):
3393         (TestInterfaceV8Internal):
3394         (WebCore::TestInterfaceV8Internal::supplementalMethod2MethodCallback):
3395         (WebCore::TestInterfaceV8Internal::supplementalMethod3MethodCallback):
3396         (WebCore::TestInterfaceV8Internal::supplementalMethod4MethodCallback):
3397         (WebCore):
3398         (WebCore::ConfigureV8TestInterfaceTemplate):
3399         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3400         (WebCore::TestMediaQueryListListenerV8Internal::methodMethodCallback):
3401         (TestMediaQueryListListenerV8Internal):
3402         (WebCore):
3403         * bindings/scripts/test/V8/V8TestObj.cpp:
3404         (WebCore::TestObjV8Internal::voidMethodMethodCallback):
3405         (TestObjV8Internal):
3406         (WebCore::TestObjV8Internal::voidMethodWithArgsMethodCallback):
3407         (WebCore::TestObjV8Internal::longMethodMethodCallback):
3408         (WebCore::TestObjV8Internal::longMethodWithArgsMethodCallback):
3409         (WebCore::TestObjV8Internal::objMethodMethod):
3410         (WebCore::TestObjV8Internal::objMethodMethodCallback):
3411         (WebCore::TestObjV8Internal::objMethodWithArgsMethodCallback):
3412         (WebCore::TestObjV8Internal::methodWithSequenceArgMethodCallback):
3413         (WebCore::TestObjV8Internal::methodReturningSequenceMethodCallback):
3414         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsMethodCallback):
3415         (WebCore::TestObjV8Internal::serializedValueMethodCallback):
3416         (WebCore::TestObjV8Internal::optionsObjectMethodCallback):
3417         (WebCore::TestObjV8Internal::methodWithExceptionMethodCallback):
3418         (WebCore::TestObjV8Internal::customMethodMethodCallback):
3419         (WebCore::TestObjV8Internal::customMethodWithArgsMethodCallback):
3420         (WebCore::TestObjV8Internal::addEventListenerMethodCallback):
3421         (WebCore::TestObjV8Internal::removeEventListenerMethodCallback):
3422         (WebCore::TestObjV8Internal::withScriptStateVoidMethodCallback):
3423         (WebCore::TestObjV8Internal::withScriptStateObjMethodCallback):
3424         (WebCore::TestObjV8Internal::withScriptStateVoidExceptionMethodCallback):
3425         (WebCore::TestObjV8Internal::withScriptStateObjExceptionMethodCallback):
3426         (WebCore::TestObjV8Internal::withScriptExecutionContextMethodCallback):
3427         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateMethodCallback):
3428         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionMethodCallback):
3429         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesMethodCallback):
3430         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackMethodCallback):
3431         (WebCore::TestObjV8Internal::methodWithOptionalArgMethodCallback):
3432         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgMethodCallback):
3433         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsMethodCallback):
3434         (WebCore::TestObjV8Internal::methodWithOptionalStringMethodCallback):
3435         (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedMethodCallback):
3436         (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringMethodCallback):
3437         (WebCore::TestObjV8Internal::methodWithCallbackArgMethodCallback):
3438         (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgMethodCallback):
3439         (WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgMethodCallback):
3440         (WebCore::TestObjV8Internal::conditionalMethod1MethodCallback):
3441         (WebCore::TestObjV8Internal::conditionalMethod2MethodCallback):
3442         (WebCore::TestObjV8Internal::conditionalMethod3MethodCallback):
3443         (WebCore::TestObjV8Internal::overloadedMethodMethodCallback):
3444         (WebCore