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