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