Implement StorageAreaProxy::getItem and StorageAreaProxy::setItem
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-26  Anders Carlsson  <andersca@apple.com>
2
3         Implement StorageAreaProxy::getItem and StorageAreaProxy::setItem
4         https://bugs.webkit.org/show_bug.cgi?id=110927
5
6         Reviewed by Sam Weinig.
7
8         Export StorageMap::getItem and StorageMap::setItem.
9
10         * WebCore.exp.in:
11
12 2013-02-26  Adam Klein  <adamk@chromium.org>
13
14         Parsing of HTML tags in MathML Text Insertion Points leads to bogus parser behavior
15         https://bugs.webkit.org/show_bug.cgi?id=110808
16
17         Reviewed by Adam Barth.
18
19         When looking for various table tags in the HTMLElementStack, compare
20         QualifiedNames rather than just local names, where necessary.
21
22         Note that not all uses have been "fixed"; I've only changed for which
23         I could write a test with differing behavior. A followup patch to
24         rationalize the use of QualifiedName vs local names would be ideal.
25
26         Tests: html5lib/generated/run-math-data.html
27                html5lib/generated/run-math-write.html
28
29         * html/parser/HTMLElementStack.cpp:
30         (WebCore::inScopeCommon): Added a version of inScopeCommon that
31         handles QualifiedNames instead of just localNames.
32         (WebCore::HTMLElementStack::inTableScope): When given a QualifiedName,
33         call the new version of inScopeCommon().
34         * html/parser/HTMLTreeBuilder.cpp:
35         (WebCore::HTMLTreeBuilder::processStartTag):
36         (WebCore::HTMLTreeBuilder::processEndTagForInTableBody):
37         (WebCore::HTMLTreeBuilder::processTrEndTagForInRow):
38
39 2013-02-26  Kaustubh Atrawalkar  <kaustubh@motorola.com>
40
41         Notification.requestPermission callback should be optional
42         https://bugs.webkit.org/show_bug.cgi?id=108196
43
44         Reviewed by Adam Barth.
45
46         Spec says it should be optional.
47         http://notifications.spec.whatwg.org/#notification
48
49         Test: fast/notifications/notifications-request-permission-optional.html
50
51         * GNUmakefile.list.am:
52         * Modules/notifications/Notification.h:
53         (Notification):
54         * Modules/notifications/Notification.idl:
55         * Target.pri:
56         * UseJSC.cmake:
57         * UseV8.cmake:
58         * WebCore.gypi:
59         * WebCore.vcproj/WebCore.vcproj:
60         * WebCore.vcxproj/WebCore.vcxproj:
61         * WebCore.vcxproj/WebCore.vcxproj.filters:
62         * WebCore.xcodeproj/project.pbxproj:
63         * bindings/js/JSNotificationCustom.cpp: Removed.
64         * bindings/scripts/CodeGeneratorJS.pm:
65         (GenerateParametersCheck):
66         * bindings/v8/custom/V8NotificationCustom.cpp: Removed.
67
68 2013-02-26  Joshua Bell  <jsbell@chromium.org>
69
70         IndexedDB: Add temporary diagnostic code to IDBRequest.result getter
71         https://bugs.webkit.org/show_bug.cgi?id=110916
72
73         Reviewed by Kentaro Hara.
74
75         Implement a custom getter for IDBRequest.result that does one additional hidden
76         property set, to try and isolate the flaky crash seen in wkbug.com/105363 which is
77         difficult to repro locally. If the crash moves to the new line it will point
78         the investigation in a new direction. Also add an assertion that probes string
79         wrappers (the expected type).
80
81         * Modules/indexeddb/IDBRequest.idl: Mark attribute as [Custom]
82         * WebCore.gypi: New file.
83         * bindings/v8/custom/V8IDBRequestCustom.cpp: Added.
84         (WebCore::V8IDBRequest::resultAttrGetterCustom): Implementation - copy/paste from
85         generated code, plus extra setNamedHiddenReference call and string ASSERT.
86
87 2013-02-26  Anders Carlsson  <andersca@apple.com>
88
89         Add a couple of symbols needed by WebKit2.
90
91         * WebCore.exp.in:
92
93 2013-02-26  Michelangelo De Simone  <michelangelo@webkit.org>
94
95         [CSS Shaders] Implement color and luminosity non-separable blend modes
96         https://bugs.webkit.org/show_bug.cgi?id=106226
97
98         Added the following GLSL helper functions to the CustomFilterValidatedProgram:
99
100             - css_Lum(C): returns the luminosity for the color C
101             - css_ClipColor(C): clips color C
102             - css_SetLum(C, l): sets the luminosity l on the color C
103
104         The above functions are being used for the "color" and "luminosity" non-separable
105         blend modes, the relevant spec for such modes is at URL:
106         https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blendingnonseparable
107
108         Reviewed by Dean Jackson.
109
110         Tests: css3/filters/custom/custom-filter-nonseparable-blend-mode-color.html
111                css3/filters/custom/custom-filter-nonseparable-blend-mode-luminosity.html
112
113         * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
114         (WebCore::CustomFilterValidatedProgram::blendFunctionString):
115
116 2013-02-26  Anders Carlsson  <andersca@apple.com>
117
118         StorageAreaProxy should hold on to a StorageMap and not a HashMap
119         https://bugs.webkit.org/show_bug.cgi?id=110919
120
121         Reviewed by Jessie Berlin.
122
123         StorageMap should be a private header.
124
125         * WebCore.xcodeproj/project.pbxproj:
126
127 2013-02-26  Stephen Chenney  <schenney@chromium.org>
128
129         feDisplacementMap filter gets color space wrong
130         https://bugs.webkit.org/show_bug.cgi?id=105929
131
132         Reviewed by Dirk Schulze.
133
134         Tests: svg/filters/feDisplacementMap-color-interpolation-filters-expected.svg
135                svg/filters/feDisplacementMap-color-interpolation-filters.svg
136                svg/filters/feDisplacementMap-filterUnits-expected.svg
137                svg/filters/feDisplacementMap-filterUnits.svg
138
139         According to the spec, the SVG feDisplacementMap filter should not
140         change the color space on its first input, and other vendors seem to
141         agree that this also means that the output should be in the first
142         input's color space. That makes sense: we are displacing the input,
143         not otherwise manipulating colors.
144
145         This change improves color space handling for filters by more
146         explicitly tracking which color space is used for the filter's
147         operation and which is used for the filter's result. It provides a
148         means for filter effects to override the color-interpolation-filters
149         property as defined by the spec. feFlood and feDisplacementMap use
150         this new feature to enforce the spec requirements.
151
152         * platform/graphics/filters/FEDisplacementMap.cpp:
153         (WebCore::FEDisplacementMap::setResultColorSpace): Override the default color space with the
154             same color space as the first input filter.
155         (WebCore):
156         (WebCore::FEDisplacementMap::transformResultColorSpace): Only transform the color space on
157             the second filter input.
158         (WebCore::FEDisplacementMap::platformApplySoftware): Make the application code more efficient,
159             and give slightly better numerical accuracy.
160         * platform/graphics/filters/FEDisplacementMap.h:
161         (FEDisplacementMap): Declare setResultColorSpace.
162         * platform/graphics/filters/FEFlood.cpp:
163         (WebCore::FEFlood::platformApplySoftware): Remove the call that forces
164             the result color space. We do it now in the setResultColorSpace.
165         * platform/graphics/filters/FEFlood.h:
166         (FEFlood): Add setResultColorSPace override that enforces sRGB color space. But not if using
167             CG, which apparently does this this already internally.
168         * platform/graphics/filters/FilterEffect.cpp:
169         (WebCore::FilterEffect::FilterEffect): Rename m_colorSpace to m_operatingColorSpace.
170         (WebCore::FilterEffect::apply): Allow filter effects to
171             override the color space conversion of their inputs.
172         (WebCore::FilterEffect::createImageBufferResult): Always create the
173             image buffer with the result color space.
174         * platform/graphics/filters/FilterEffect.h:
175         (WebCore::FilterEffect::operatingColorSpace): New accessor.
176         (WebCore::FilterEffect::setOperatingColorSpace): New accessor.
177         (WebCore::FilterEffect::resultColorSpace): New accessor.
178         (WebCore::FilterEffect::setResultColorSpace): New accessor.
179         (FilterEffect):
180         (WebCore::FilterEffect::transformResultColorSpace): A new virtual
181             method that allows filter effects individual control over the color
182             space conversion of their inputs.
183         * platform/graphics/filters/SourceGraphic.h:
184         (WebCore::SourceGraphic::SourceGraphic): Variable rename.
185         * rendering/FilterEffectRenderer.cpp:
186         (WebCore::FilterEffectRenderer::build): Use accessors to set color
187             space to enable per-effect overrides.
188         * rendering/svg/RenderSVGResourceFilter.cpp:
189         (WebCore::RenderSVGResourceFilter::buildPrimitives): Use accessors to set color.
190
191 2013-02-26  Mike West  <mkwst@chromium.org>
192
193         X-Frame-Options should accept ALLOWALL as a valid value.
194         https://bugs.webkit.org/show_bug.cgi?id=110857
195
196         Reviewed by Adam Barth.
197
198         DoubleClick, among others, serves ALLOWALL as a 'X-Frame-Options' value
199         with the intent of (shock!) allowing a resource to be framed by all
200         origins. Given its prevelance, and the fact that IE supports the header,
201         we shouldn't call it out as invalid.
202
203         This patch tweaks the warning logic to only throw the warning if the
204         header's value isn't 'ALLOWALL', 'DENY', or 'SAMEORIGIN'.
205
206         Test: http/tests/security/XFrameOptions/x-frame-options-allowall.html
207
208         * loader/FrameLoader.cpp:
209         (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
210
211 2013-02-26  Tony Chang  <tony@chromium.org>
212
213         CSS Flexbox: dynamically applied align-items doesn't affect item alignment
214         https://bugs.webkit.org/show_bug.cgi?id=110341
215
216         Reviewed by Ojan Vafai.
217
218         If flex items don't change width, we don't lay them out again. This causes problems
219         when an item goes from stretch to non-stretch since we need to relayout to get the
220         smaller height. Fix this by marking flex items that were stretch as needing layout.
221
222         Test: css3/flexbox/relayout-align-items.html
223
224         * rendering/RenderFlexibleBox.cpp:
225         (WebCore::resolveAlignment): Pull out common code for computing flex item style.
226         (WebCore::RenderFlexibleBox::styleDidChange): Mark children as needing layout.
227         (WebCore::RenderFlexibleBox::alignmentForChild): Use resolveAlignment.
228         * rendering/RenderFlexibleBox.h:
229
230 2013-02-26  Anders Carlsson  <andersca@apple.com>
231
232         StorageMap can just import an entire map of items at once
233         https://bugs.webkit.org/show_bug.cgi?id=110904
234
235         Reviewed by Beth Dakin.
236
237         Instead of iterating over the map inside StorageAreaSync, just pass it directly
238         (through StorageAreaImpl) to StorageMap and iterate over it there.
239
240         * storage/StorageAreaImpl.cpp:
241         (WebCore::StorageAreaImpl::importItems):
242         * storage/StorageAreaImpl.h:
243         (StorageAreaImpl):
244         * storage/StorageAreaSync.cpp:
245         (WebCore::StorageAreaSync::performImport):
246         * storage/StorageMap.cpp:
247         (WebCore::StorageMap::importItems):
248         * storage/StorageMap.h:
249         (StorageMap):
250
251 2013-02-26  CHAUDHARY VINEET  <rgf748@motorola.com>
252
253         [JSC] static methods with Callback should not have this pointer
254         https://bugs.webkit.org/show_bug.cgi?id=110846
255
256         Reviewed by Kentaro Hara.
257
258         Fixing the JSC Codegenerator not to use 'this' pointer in static methods.
259
260         No new tests. 
261
262         * bindings/scripts/CodeGeneratorJS.pm:
263         (GenerateParametersCheck):
264         * bindings/scripts/test/JS/JSTestObj.cpp:
265         (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg):
266         (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg):
267         * bindings/scripts/test/JS/JSTestObj.h:
268         * bindings/scripts/test/TestObj.idl:
269         * bindings/scripts/test/V8/V8TestObj.cpp:
270         (WebCore::TestObjV8Internal::staticMethodWithCallbackAndOptionalArgMethod):
271         (TestObjV8Internal):
272         (WebCore::TestObjV8Internal::staticMethodWithCallbackAndOptionalArgMethodCallback):
273         (WebCore::TestObjV8Internal::staticMethodWithCallbackArgMethod):
274         (WebCore::TestObjV8Internal::staticMethodWithCallbackArgMethodCallback):
275         (WebCore::ConfigureV8TestObjTemplate):
276
277 2013-02-20  Alpha Lam  <hclam@chromium.org>
278
279         GIFImageReader to read from source data directly
280         https://bugs.webkit.org/show_bug.cgi?id=109662
281
282         Reviewed by Stephen White.
283
284         This is the first patch to improve GIF image decoding.
285
286         GIFImageReader has an internal 256 bytes buffer to saving incoming
287         bytes. This mechanism is out-dated because WebKit holds the entire
288         file in memory and it is not necessary to hold data in an intermediate
289         buffer.
290
291         This is also a blocker for later work to parse and decode GIF
292         incrementally.
293
294         This change removed the imtermediate 'hold' buffer and uses an index
295         for data position to keep track of parsing of the GIF file. Buffer for
296         global colormap and local colormap are also removed because they can be
297         referenced from the data stream.
298
299         This change is tested by:
300
301         Layout tests
302         All tests passed under fast/images.
303
304         Unit tests
305         Added GIFImageDecoderTest for Chromium.
306
307         Local testing
308         I tested this implementation against a set of 50k GIF images and
309         there's no crashes and produces bit-exact results as previous code.
310
311         * platform/image-decoders/gif/GIFImageDecoder.cpp:
312         (WebCore::GIFImageDecoder::setData):
313         (WebCore::GIFImageDecoder::frameCount):
314         (WebCore::GIFImageDecoder::haveDecodedRow):
315         (WebCore::GIFImageDecoder::decode):
316         * platform/image-decoders/gif/GIFImageReader.cpp:
317         (GIFImageReader::doLZW):
318         (GIFImageReader::decode):
319         (GIFImageReader::decodeInternal):
320         (GIFImageReader::setRemainingBytes):
321         * platform/image-decoders/gif/GIFImageReader.h:
322         (GIFFrameContext):
323         (GIFFrameContext::GIFFrameContext):
324         (GIFFrameContext::~GIFFrameContext):
325         (GIFImageReader::GIFImageReader):
326         (GIFImageReader::~GIFImageReader):
327         (GIFImageReader::setData):
328         (GIFImageReader):
329         (GIFImageReader::globalColormap):
330         (GIFImageReader::localColormap):
331         (GIFImageReader::localColormapSize):
332         (GIFImageReader::data):
333         (GIFImageReader::colormap):
334
335 2013-02-26  Christian Biesinger  <cbiesinger@chromium.org>
336
337         Empty <button>s should collapse; empty <input type="button"> should not collapse
338         https://bugs.webkit.org/show_bug.cgi?id=110654
339
340         Reviewed by Ojan Vafai.
341
342         This patch also fixes other height computation issues with flex boxes
343         related to scroll bars and hasLineIfEmpty()=true. See below for
344         details.
345
346         Tests: css3/flexbox/button.html
347                css3/flexbox/position-absolute-child-with-contenteditable.html
348
349         * rendering/RenderBlock.cpp:
350         (WebCore::RenderBlock::layoutBlock): Add a FIXME to make
351         border/padding/scrollbar inclusion more consistent with other
352         renderers.
353         * rendering/RenderButton.h:
354         (WebCore::RenderButton::hasLineIfEmpty): We only want a line for
355         <input type=button|submit|reset>, for consistency with Firefox.
356
357         * rendering/RenderFlexibleBox.cpp:
358         (WebCore::RenderFlexibleBox::layoutBlock): Start out layoutBlock by
359         setting the logical height to border + padding + scrollbar height to
360         ensure that we have space for the scrollbar even without children. The
361         layoutFlexItems change below is not enough because we also need this
362         when hasLineIfEmpty() is false.
363         (WebCore::RenderFlexibleBox::layoutFlexItems): Ensure we have a line
364         when hasLineIfEmpty() is true by calling setLogicalHeight(border+
365         padding+scrollbar+lineHeight()) if we don't have a flex line.
366
367 2013-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>
368
369         Unreviewed, rolling out r143941.
370         http://trac.webkit.org/changeset/143941
371         https://bugs.webkit.org/show_bug.cgi?id=110901
372
373         This is a step in the wrong direction as it ties us to what
374         grid-{row|column} expect (see
375         https://bugs.webkit.org/show_bug.cgi?id=110777 for the right
376         direction) (Requested by jchaffraix on #webkit).
377
378         * css/CSSComputedStyleDeclaration.cpp:
379         (WebCore::valueForGridPosition):
380         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
381         * css/StyleResolver.cpp:
382         (WebCore::createGridPosition):
383         (WebCore::StyleResolver::applyProperty):
384         * rendering/RenderGrid.cpp:
385         (WebCore::RenderGrid::maximumIndexInDirection):
386         (WebCore::RenderGrid::placeItemsOnGrid):
387         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
388         (WebCore::RenderGrid::placeAutoMajorAxisItemsOnGrid):
389         (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
390         (WebCore::RenderGrid::autoPlacementMajorAxisPositionForChild):
391         (WebCore::RenderGrid::autoPlacementMinorAxisPositionForChild):
392         * rendering/RenderGrid.h:
393         * rendering/style/GridPosition.h:
394         * rendering/style/RenderStyle.h:
395         * rendering/style/StyleGridItemData.h:
396         (StyleGridItemData):
397
398 2013-02-26  Jer Noble  <jer.noble@apple.com>
399
400         Unreviewed build fix; use correct macro for platform name in FeatureDefines.xcconfig.
401
402         * Configurations/FeatureDefines.xcconfig:
403
404 2013-02-26  Andrew Lo  <anlo@rim.com>
405
406         [BlackBerry] Animated images not animating on accelerated compositing layers
407         https://bugs.webkit.org/show_bug.cgi?id=110886
408
409         Reviewed by Rob Buis.
410
411         Internally reviewed by Arvid Nilsson.
412         Internal PR 299598.
413
414         Animated images on AC layers call GraphicsLayer::setContentsToImage
415         on each frame with the same Image.
416
417         We need to set needs display in that case so that the frames are
418         displayed.
419
420         No new tests are needed since there is no new functionality.
421
422         * platform/graphics/blackberry/LayerWebKitThread.cpp:
423         (WebCore::LayerWebKitThread::setContents):
424
425 2013-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>
426
427         Unreviewed, rolling out r144065.
428         http://trac.webkit.org/changeset/144065
429         https://bugs.webkit.org/show_bug.cgi?id=110896
430
431         Causing failures and crashes on Chromium Win7 and Win XP
432         (Requested by schenney on #webkit).
433
434         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
435         (WebCore::normalizeCharacters):
436         (WebCore::HarfBuzzShaper::HarfBuzzShaper):
437         * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
438         (WebCore::HarfBuzzShaperBase::setNormalizedBuffer):
439
440 2013-02-26  Allan Sandfeld Jensen  <allan.jensen@digia.com>
441
442         [TexMap] Ignore layer repaint request when drawsContent is false
443         https://bugs.webkit.org/show_bug.cgi?id=110888
444
445         Reviewed by Noam Rosenthal.
446
447         As long as drawsContent is false we should ignore requests for repaints.
448         A full repaint will be requested when drawsContent is changed to true.
449
450         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
451         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
452         (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
453         (WebCore::GraphicsLayerTextureMapper::setDrawsContent):
454
455 2013-02-26  Joshua Bell  <jsbell@chromium.org>
456
457         IndexedDB: IDBObjectStore.index() doesn't report errors after deleteIndex()
458         https://bugs.webkit.org/show_bug.cgi?id=110792
459
460         Reviewed by Tony Chang.
461
462         The object store's metadata wasn't updated if the index hadn't been accessed
463         by script and hence placed in the name->object map. Make sure the metadata
464         is always updated.
465
466         Test: storage/indexeddb/deleteIndex-bug110792.html
467
468         * Modules/indexeddb/IDBObjectStore.cpp:
469         (WebCore::IDBObjectStore::deleteIndex): Always update the object store's metadata.
470
471 2013-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>
472
473         Unreviewed, rolling out r144019.
474         http://trac.webkit.org/changeset/144019
475         https://bugs.webkit.org/show_bug.cgi?id=110892
476
477         due to 8% perf regression on chromium-win7 intl1 page cycler,
478         see https://bugs.webkit.org/show_bug.cgi?id=110872 (Requested
479         by gasubic on #webkit).
480
481         * platform/text/LineBreakIteratorPoolICU.h:
482         (WebCore::LineBreakIteratorPool::take):
483         (WebCore::LineBreakIteratorPool::put):
484         (LineBreakIteratorPool):
485         * platform/text/TextBreakIterator.h:
486         (WebCore):
487         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
488         (WebCore::LazyLineBreakIterator::get):
489         (WebCore::LazyLineBreakIterator::reset):
490         (LazyLineBreakIterator):
491         * platform/text/TextBreakIteratorICU.cpp:
492         (WebCore::acquireLineBreakIterator):
493         (WebCore::releaseLineBreakIterator):
494         * rendering/RenderBlockLineLayout.cpp:
495         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
496         * rendering/RenderText.cpp:
497         (WebCore::RenderText::computePreferredLogicalWidths):
498         * rendering/RenderText.h:
499         (WebCore):
500         * rendering/break_lines.cpp:
501         (WebCore):
502         (WebCore::isBreakableSpace):
503         (WebCore::needsLineBreakIterator):
504         (WebCore::nextBreakablePosition):
505         (WebCore::nextBreakablePositionIgnoringNBSP):
506         * rendering/break_lines.h:
507         (WebCore):
508         (WebCore::isBreakable):
509
510 2013-02-26  Dana Jansens  <danakj@chromium.org>
511
512         Create the SharedGraphicsContext3D through its own method.
513         https://bugs.webkit.org/show_bug.cgi?id=109345
514
515         Reviewed by James Robinson.
516
517         Allow creating a GraphicsContext3DPrivate from an externally owned
518         WebGraphicsContext3D and GrContext. Then create the shared graphics
519         context from these provided by the embedder.
520
521         This falls back to the old path if the new methods return NULL to
522         let us land this immediately and then transition the chromium side
523         over to this path.
524
525         * platform/chromium/support/GraphicsContext3DPrivate.cpp:
526         (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
527         (WebCore):
528         (WebCore::GraphicsContext3DPrivate::createGraphicsContextFromExternalWebContextAndGrContext):
529         (WebCore::GraphicsContext3DPrivate::grContext):
530         * platform/chromium/support/GraphicsContext3DPrivate.h:
531         (GraphicsContext3DPrivate):
532         (WebCore::GraphicsContext3DPrivate::webContext):
533         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
534         (WebCore::SharedGraphicsContext3DImpl::getOrCreateContext):
535
536 2013-02-26  Antti Koivisto  <antti@apple.com>
537
538         REGRESSION(r143986): fast/files/revoke-blob-url.html asserts
539         https://bugs.webkit.org/show_bug.cgi?id=110885
540         
541         Reviewed by Alexey Proskuryakov.
542
543         The ResourceRequest string constructor assumes that the string is a valid URL. Use KURL constructor instead.
544
545         * html/DOMURL.cpp:
546         (WebCore::DOMURL::revokeObjectURL):
547
548 2013-02-26  Dean Jackson  <dino@apple.com>
549
550         Draw intermediate snapshots if possible
551         https://bugs.webkit.org/show_bug.cgi?id=110811
552
553         Reviewed by Simon Fraser.
554
555         After http://webkit.org/b/110495 we delayed snapshotting until we've
556         received a nice image, but this made the page look like it is broken.
557         We should draw any intermediate snapshots that we find, which might
558         include content such as progress bars/spinners.
559
560         * html/HTMLPlugInElement.h:
561         (WebCore::HTMLPlugInElement::isPlugInImageElement): Expose virtual method
562         to indicate if this is a HTMLPlugInImageElement or not.
563         * html/HTMLPlugInImageElement.cpp:
564         (WebCore::HTMLPlugInImageElement::updateSnapshot): If we have
565         a RenderEmbeddedObject renderer, then tell it to repaint.
566         * html/HTMLPlugInImageElement.h:
567         (WebCore::HTMLPlugInImageElement::snapshotImage): Expose an
568         accessor for snapshot images.
569         * rendering/RenderEmbeddedObject.cpp:
570         (WebCore::RenderEmbeddedObject::paintSnapshotImage): New helper
571         method to render an image directly. This code is similar to
572         that in RenderSnapshottedPlugIn.
573         (WebCore::RenderEmbeddedObject::paintContents): The virtual implementation
574         of this method for use when we have a snapshot to paint. If we are a plugin that is
575         in the process of being snapshotted, ask our HTMLPlugInImageElement for a
576         snapshot and paint that instead. In the case where we are not snapshotting,
577         or we do not yet have a snapshot, this will call back into the RenderWidget code.
578         * rendering/RenderEmbeddedObject.h:
579         (RenderEmbeddedObject): New methods paintSnapshotImage and paintContents
580         * rendering/RenderWidget.cpp:
581         (WebCore::RenderWidget::paintContents): New method called in the middle
582         of paint() that can be overridden by RenderEmbeddedObject. The code here was
583         simply moved out of the previous paint().
584         (WebCore::RenderWidget::paint): Call paintContents at the appropriate time.
585         * rendering/RenderWidget.h:
586         (RenderWidget): New virtual method paintContents.
587
588 2013-02-26  Levi Weintraub  <leviw@chromium.org>
589
590         Add support for 8 bit TextRuns for Chromium/HarfBuzz
591         https://bugs.webkit.org/show_bug.cgi?id=99393
592
593         Reviewed by Eric Seidel.
594
595         Adding support for 8 bit TextRuns for platforms using HarfBuzz. To accomplish this,
596         8 bit text runs are upconverted to 16 bit in the complex text path during string
597         normalization, as HarfBuzz operates on UChars.
598
599         No new tests. No change in behavior.
600
601         (WebCore::HarfBuzzShaperBase::setNormalizedBuffer):
602         * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
603         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
604         (WebCore::normalizeCharacters):
605         (WebCore::HarfBuzzShaper::HarfBuzzShaper):
606
607 2013-02-26  Dmitry Zvorygin  <zvorygin@chromium.org>
608
609         Merged Tip and Debug log levels for web console.
610         https://bugs.webkit.org/show_bug.cgi?id=109919
611
612         Reviewed by Pavel Feldman.
613
614         In every component either TIP or DEBUG level was used for reporting,
615         but not both. This patch is prerequisite for Web Inspector console log filtering.
616
617         * css/MediaList.cpp:
618         (WebCore::addResolutionWarningMessageToConsole):
619         * inspector/ConsoleMessage.cpp:
620         (WebCore::messageLevelValue):
621         * loader/appcache/ApplicationCacheGroup.cpp:
622         (WebCore::ApplicationCacheGroup::abort):
623         * page/Console.cpp:
624         (WebCore::printMessageSourceAndLevelPrefix):
625         * page/ConsoleTypes.h:
626         * xml/XSLTProcessorLibxslt.cpp:
627         (WebCore::XSLTProcessor::parseErrorFunc):
628         * xml/XSLTProcessorQt.cpp:
629         (WebCore::XSLTMessageHandler::handleMessage):
630
631 2013-02-26  Alberto Garcia  <agarcia@igalia.com>
632
633         [BlackBerry] Upstream the datalist support UI
634         https://bugs.webkit.org/show_bug.cgi?id=110736
635
636         Reviewed by Rob Buis.
637
638         Original code by Otto Derek Cheung <otcheung@rim.com>
639
640         * css/themeBlackBerry.css:
641         (input::-webkit-suggestion-dropdown-box):
642         (input::-webkit-suggestion-dropdown-box-item):
643         (input::-webkit-suggestion-prefix-text):
644         (input::-webkit-suggestion-dropdown-box-item-last):
645         * platform/blackberry/RenderThemeBlackBerry.cpp:
646         (WebCore::RenderThemeBlackBerry::supportsDataListUI):
647         (WebCore):
648         * platform/blackberry/RenderThemeBlackBerry.h:
649         (RenderThemeBlackBerry):
650
651 2013-02-26  Andrey Kosyakov  <caseq@chromium.org>
652
653         Web Inspector: plumb trace events to Timeline agent
654         https://bugs.webkit.org/show_bug.cgi?id=105796
655
656         Reviewed by Pavel Feldman.
657
658         - plumb trace events to Timeline;
659         - add TimelineTraceEventProcessor to process selected trace events;
660         - emit timeline events from TimelineTraceEventProcessor.
661
662         Note that actual event processing logic is a separate change.
663
664         * CMakeLists.txt: Added TimelineTraceEventProcessor.{h,cpp}.
665         * GNUmakefile.list.am:  Ditto.
666         * Target.pri: Ditto.
667         * WebCore.gypi: Ditto.
668         * WebCore.vcproj/WebCore.vcproj: Ditto.
669         * WebCore.xcodeproj/project.pbxproj: Ditto.
670         * inspector/InspectorAllInOne.cpp: Ditto.
671         * inspector/InspectorClient.h:
672         (InspectorClient):
673         (WebCore::InspectorClient::setTraceEventCallback):
674         * inspector/InspectorTimelineAgent.cpp: create/destroy trace event processor on start/stop.
675         (WebCore::InspectorTimelineAgent::start): 
676         (WebCore::InspectorTimelineAgent::stop):
677         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
678         (WebCore::InspectorTimelineAgent::page):
679         (WebCore):
680         * inspector/InspectorTimelineAgent.h:
681         (WebCore):
682         (InspectorTimelineAgent):
683         * inspector/TimelineTraceEventProcessor.cpp: Added.
684         (WebCore::TimelineTraceEventProcessor::TimelineTraceEventProcessor):
685         (WebCore):
686         (WebCore::TimelineTraceEventProcessor::~TimelineTraceEventProcessor):
687         (WebCore::TimelineTraceEventProcessor::TraceEvent::parameter):
688         (WebCore::TimelineTraceEventProcessor::processEventOnAnyThread):
689         (WebCore::TimelineTraceEventProcessor::processEvent):
690         (WebCore::TimelineTraceEventProcessor::sendTimelineRecord):
691         (WebCore::TimelineTraceEventProcessor::processBackgroundEvents):
692         * inspector/TimelineTraceEventProcessor.h: Added.
693         (WebCore):
694         (TimelineTraceEventProcessor):
695         (TraceEvent):
696         (WebCore::TimelineTraceEventProcessor::TraceEvent::TraceEvent):
697         (WebCore::TimelineTraceEventProcessor::TraceEvent::timestamp):
698         (WebCore::TimelineTraceEventProcessor::TraceEvent::phase):
699         (WebCore::TimelineTraceEventProcessor::TraceEvent::name):
700         (WebCore::TimelineTraceEventProcessor::TraceEvent::threadIdentifier):
701         (WebCore::TimelineTraceEventProcessor::TraceEvent::argumentCount):
702         (WebCore::TimelineTraceEventProcessor::TraceEvent::asBool):
703         (WebCore::TimelineTraceEventProcessor::TraceEvent::asInt):
704         (WebCore::TimelineTraceEventProcessor::TraceEvent::asUInt):
705         (WebCore::TimelineTraceEventProcessor::TraceEvent::asDouble):
706         (WebCore::TimelineTraceEventProcessor::TraceEvent::asString):
707         (WebCore::TimelineTraceEventProcessor::EventTypeEntry::EventTypeEntry):
708         (EventTypeEntry):
709
710 2013-02-18  Eugene Klyuchnikov  <eustas@chromium.org>
711
712         Web Inspector: Web Inspector: Specify return type of WebInspector.UIString
713         https://bugs.webkit.org/show_bug.cgi?id=110095
714
715         Reviewed by Pavel Feldman.
716
717         Specify return type of WebInspector.UIString.
718         Fix new js-compiler warnings.
719
720         This change will increase type coverage by 0.4% (to 81%)
721
722         * inspector/front-end/ObjectPropertiesSection.js: Fix type errors.
723         * inspector/front-end/UIString.js:
724         (WebInspector.UIString): Return type specified.
725
726 2013-02-26  Eugene Klyuchnikov  <eustas@chromium.org>
727
728         Web Inspector: [Resources] Cookies table looks empty.
729         https://bugs.webkit.org/show_bug.cgi?id=110870
730
731         Reviewed by Pavel Feldman.
732
733         Fixed data-grid selector.
734
735         * inspector/front-end/resourcesPanel.css:
736         (.storage-view .data-grid): Fixed selector.
737
738 2013-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
739
740         Web Inspector: Migrate FileSystem inspection support to ResourceTreeModel's SecurityOriginAdded/Removed events.
741         https://bugs.webkit.org/show_bug.cgi?id=110878
742
743         Reviewed by Alexander Pavlov.
744
745         Recently added SecurityOriginAdded/Removed events support was essentially duplicated in
746         FileSystemModel. This patch migrates FileSystem inspection support to new events.
747
748         * inspector/front-end/FileSystemModel.js:
749         (WebInspector.FileSystemModel):
750         (WebInspector.FileSystemModel.prototype._reset):
751         (WebInspector.FileSystemModel.prototype._securityOriginAdded):
752         (WebInspector.FileSystemModel.prototype._securityOriginRemoved):
753         (WebInspector.FileSystemModel.prototype._addOrigin):
754         (WebInspector.FileSystemModel.prototype._removeOrigin):
755         (WebInspector.FileSystemModel.prototype.refreshFileSystemList):
756
757 2013-02-26  Antoine Quint  <graouts@apple.com>
758
759         Web Inspector: Cannot deep expand an element that has previously been partially expanded
760         https://bugs.webkit.org/show_bug.cgi?id=110424
761
762         In the case where the children from the provided node have already been pushed, traverse
763         children at the depth provided until we find children that have not been pushed yet.
764
765         Reviewed by Pavel Feldman.
766
767         * inspector/InspectorDOMAgent.cpp:
768         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
769
770 2013-02-26  Andrey Kosyakov  <caseq@chromium.org>
771
772         Unreviewed, rolling out r144041, r144044, and r144048.
773         http://trac.webkit.org/changeset/144041
774         http://trac.webkit.org/changeset/144044
775         http://trac.webkit.org/changeset/144048
776         https://bugs.webkit.org/show_bug.cgi?id=105796
777
778         Broke build
779
780         * CMakeLists.txt:
781         * GNUmakefile.list.am:
782         * Target.pri:
783         * WebCore.gypi:
784         * WebCore.vcproj/WebCore.vcproj:
785         * WebCore.xcodeproj/project.pbxproj:
786         * inspector/InspectorAllInOne.cpp:
787         * inspector/InspectorClient.h:
788         * inspector/InspectorInstrumentation.cpp:
789         (WebCore):
790         (WebCore::InspectorInstrumentation::willPaintImpl):
791         * inspector/InspectorInstrumentation.h:
792         * inspector/InspectorTimelineAgent.cpp:
793         (TimelineRecordType):
794         (WebCore::InspectorTimelineAgent::start):
795         (WebCore::InspectorTimelineAgent::stop):
796         (WebCore::InspectorTimelineAgent::didBeginFrame):
797         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
798         * inspector/InspectorTimelineAgent.h:
799         (WebCore):
800         (InspectorTimelineAgent):
801         * inspector/TimelineRecordFactory.cpp:
802         * inspector/TimelineRecordFactory.h:
803         * inspector/TimelineTraceEventProcessor.cpp: Removed.
804         * inspector/TimelineTraceEventProcessor.h: Removed.
805         * inspector/front-end/TimelineModel.js:
806         * inspector/front-end/TimelinePresentationModel.js:
807         (WebInspector.TimelinePresentationModel._initRecordStyles):
808
809 2013-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
810
811         Web Inspector: Migrate IndexedDB support to ResourceTreeModel's SecurityOriginAdded/Removed events.
812         https://bugs.webkit.org/show_bug.cgi?id=110863
813
814         Reviewed by Alexander Pavlov.
815
816         Recently added SecurityOriginAdded/Removed events support was essentially duplicated in
817         IndexedDBModel. This patch migrates IndexedDB support to new events.
818
819         * inspector/Inspector.json:
820         * inspector/InspectorIndexedDBAgent.cpp:
821         (WebCore):
822         (WebCore::InspectorIndexedDBAgent::requestDatabaseNames):
823         (WebCore::InspectorIndexedDBAgent::requestDatabase):
824         (WebCore::InspectorIndexedDBAgent::requestData):
825         * inspector/InspectorIndexedDBAgent.h:
826         (InspectorIndexedDBAgent):
827         * inspector/front-end/IndexedDBModel.js:
828         (WebInspector.IndexedDBModel):
829         (WebInspector.IndexedDBModel.prototype._reset):
830         (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
831         (WebInspector.IndexedDBModel.prototype._securityOriginAdded):
832         (WebInspector.IndexedDBModel.prototype._securityOriginRemoved):
833         (WebInspector.IndexedDBModel.prototype._addOrigin):
834         (WebInspector.IndexedDBModel.prototype._removeOrigin):
835         (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
836         (WebInspector.IndexedDBModel.prototype._loadDatabaseNames):
837         (WebInspector.IndexedDBModel.prototype._loadDatabase):
838         (WebInspector.IndexedDBModel.prototype.):
839         (WebInspector.IndexedDBModel.prototype._requestData):
840         * inspector/front-end/ResourceTreeModel.js:
841         (WebInspector.ResourceTreeModel.prototype.securityOrigins):
842
843 2013-02-26  Alexander Pavlov  <apavlov@chromium.org>
844
845         Web Inspector: in protocol make field "securityOrigin" in type Page.Frame mandatory
846         https://bugs.webkit.org/show_bug.cgi?id=80857
847
848         Reviewed by Vsevolod Vlasov.
849
850         Frame.securityOrigin has always been set to a valid value, so this change just fixes
851         the protocol flaw.
852
853         * inspector/Inspector.json:
854         * inspector/InspectorPageAgent.cpp:
855         (WebCore::InspectorPageAgent::buildObjectForFrame):
856         * inspector/front-end/ResourceTreeModel.js:
857         (WebInspector.ResourceTreeFrame):
858         (WebInspector.ResourceTreeFrame.prototype._navigate):
859
860 2013-02-26  Andrey Kosyakov  <caseq@chromium.org>
861
862         Unreviewed build fix following r144041.
863
864         * inspector/TimelineTraceEventProcessor.h:
865         (WebCore::TimelineTraceEventProcessor::TraceEvent::TraceEvent):
866
867 2013-02-26  Vivek Galatage  <vivek.vg@samsung.com>
868
869         Web Inspector: DataGrid should reveal and select next/previous DataGridNode upon deletion of selected node
870         https://bugs.webkit.org/show_bug.cgi?id=110862
871
872         Reviewed by Alexander Pavlov.
873
874         While deleting entries in the DataGrid, deleting of selected node should trigger selection of
875         next possible (backward/forward) DataGridNode.
876
877         * inspector/front-end/DataGrid.js:
878         (WebInspector.DataGrid.prototype._keyDown):
879         (WebInspector.DataGridNode.prototype.get leftPadding):
880         (WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle):
881
882 2013-02-26  Andrey Kosyakov  <caseq@chromium.org>
883
884         Web Inspector: show raster tasks on Timeline
885         https://bugs.webkit.org/show_bug.cgi?id=105851
886
887         - add PaintLayer, Paint & RasterTask trace events handling to trace event processor;
888         - upon begin frame, emit aggregated background event for all raster tasks related to the inspected page.
889
890         Reviewed by Pavel Feldman.
891
892         * inspector/InspectorInstrumentation.cpp:
893         (WebCore):
894         (WebCore::InspectorInstrumentation::willPaintImpl):
895         (InstrumentationEvents):
896         (InstrumentationEventArguments):
897         * inspector/InspectorInstrumentation.h:
898         (InstrumentationEvents):
899         (WebCore):
900         (InstrumentationEventArguments):
901         * inspector/InspectorTimelineAgent.cpp:
902         (TimelineRecordType):
903         (WebCore::InspectorTimelineAgent::stop):
904         (WebCore::InspectorTimelineAgent::didBeginFrame):
905         * inspector/InspectorTimelineAgent.h:
906         (TimelineRecordType):
907         (WebCore):
908         * inspector/TimelineRecordFactory.cpp:
909         (WebCore::TimelineRecordFactory::createRasterData):
910         (WebCore):
911         * inspector/TimelineRecordFactory.h:
912         (TimelineRecordFactory):
913         * inspector/TimelineTraceEventProcessor.cpp:
914         (WebCore::TimelineTraceEventProcessor::TimelineTraceEventProcessor):
915         (WebCore::TimelineTraceEventProcessor::~TimelineTraceEventProcessor):
916         (WebCore):
917         (WebCore::TimelineTraceEventProcessor::registerHandler):
918         (WebCore::TimelineTraceEventProcessor::shutdown):
919         (WebCore::TimelineTraceEventProcessor::TraceEvent::findParameter):
920         (WebCore::TimelineTraceEventProcessor::TraceEvent::parameter):
921         (WebCore::TimelineTraceEventProcessor::processEventOnAnyThread):
922         (WebCore::TimelineTraceEventProcessor::onBeginFrame):
923         (WebCore::TimelineTraceEventProcessor::onPaintLayerBegin):
924         (WebCore::TimelineTraceEventProcessor::onPaintLayerEnd):
925         (WebCore::TimelineTraceEventProcessor::onRasterTaskBegin):
926         (WebCore::TimelineTraceEventProcessor::onRasterTaskEnd):
927         (WebCore::TimelineTraceEventProcessor::onLayerDeleted):
928         (WebCore::TimelineTraceEventProcessor::onPaint):
929         (WebCore::TimelineTraceEventProcessor::flushRasterizerStatistics):
930         (WebCore::TimelineTraceEventProcessor::sendTimelineRecord):
931         (WebCore::TimelineTraceEventProcessor::processBackgroundEvents):
932         * inspector/TimelineTraceEventProcessor.h:
933         (WebCore::TimelineTraceEventProcessor::TraceEvent::TraceEvent):
934         (WebCore::TimelineTraceEventProcessor::TraceEvent::id):
935         (WebCore::TimelineTraceEventProcessor::TraceEvent::asBool):
936         (WebCore::TimelineTraceEventProcessor::TraceEvent::asInt):
937         (WebCore::TimelineTraceEventProcessor::TraceEvent::asUInt):
938         (WebCore::TimelineTraceEventProcessor::TraceEvent::asDouble):
939         (TimelineTraceEventProcessor):
940         * inspector/front-end/TimelineModel.js:
941         * inspector/front-end/TimelinePresentationModel.js:
942         (WebInspector.TimelinePresentationModel._initRecordStyles):
943
944 2013-02-26  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
945
946         Work around a MSVC 2012 Update 1 bug causing a crash on x86
947         https://bugs.webkit.org/show_bug.cgi?id=110488
948
949         Reviewed by Anders Carlsson.
950
951         The crash happens when building with /O2, where TextEncodingNameHash::equal is
952         incorrectly optimized with the inlined toASCIILower and uses a register already in use.
953         The function returns false incorrectly, causing a mismatch of text encoding name which
954         then results in a null pointer access.
955
956         Slightly rewording the use of the inline function lets the compiler produce correct code.
957
958         The bug has already been reported and should be fixed in the next release of MSVS later this year.
959         https://connect.microsoft.com/VisualStudio/feedback/details/777533/vs2012-c-optimizing-bug-when-using-inline-and-char-return-type-x86-target-only
960
961         * platform/text/TextEncodingRegistry.cpp:
962
963 2013-02-01  Andrey Kosyakov  <caseq@chromium.org>
964
965         Web Inspector: plumb trace events to Timeline agent
966         https://bugs.webkit.org/show_bug.cgi?id=105796
967
968         Reviewed by Pavel Feldman.
969
970         - plumb trace events to Timeline;
971         - add TimelineTraceEventProcessor to process selected trace events;
972         - emit timeline events from TimelineTraceEventProcessor.
973
974         Note that actual event processing logic is a separate change.
975
976         * CMakeLists.txt:
977         * GNUmakefile.list.am:
978         * Target.pri:
979         * WebCore.gypi:
980         * WebCore.vcproj/WebCore.vcproj:
981         * WebCore.xcodeproj/project.pbxproj:
982         * inspector/Inspector.json:
983         * inspector/InspectorAllInOne.cpp:
984         * inspector/InspectorClient.h:
985         (InspectorClient):
986         (WebCore::InspectorClient::setTraceEventCallback):
987         * inspector/InspectorTimelineAgent.cpp:
988         (WebCore::InspectorTimelineAgent::start):
989         (WebCore::InspectorTimelineAgent::stop):
990         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
991         (WebCore::InspectorTimelineAgent::appendBackgroundThreadRecord):
992         (WebCore):
993         (WebCore::InspectorTimelineAgent::page):
994         * inspector/InspectorTimelineAgent.h:
995         (WebCore):
996         (InspectorTimelineAgent):
997         * inspector/TimelineTraceEventProcessor.cpp: Added.
998         (WebCore::TimelineTraceEventProcessor::TimelineTraceEventProcessor):
999         (WebCore):
1000         (WebCore::TimelineTraceEventProcessor::~TimelineTraceEventProcessor):
1001         (WebCore::TimelineTraceEventProcessor::TraceEvent::parameter):
1002         (WebCore::TimelineTraceEventProcessor::processEventOnAnyThread):
1003         (WebCore::TimelineTraceEventProcessor::processEvent):
1004         (WebCore::TimelineTraceEventProcessor::sendTimelineRecord):
1005         (WebCore::TimelineTraceEventProcessor::processBackgroundEvents):
1006         * inspector/TimelineTraceEventProcessor.h: Added.
1007         (WebCore):
1008         (TimelineTraceEventProcessor):
1009         (TraceEvent):
1010         (WebCore::TimelineTraceEventProcessor::TraceEvent::TraceEvent):
1011         (WebCore::TimelineTraceEventProcessor::TraceEvent::timestamp):
1012         (WebCore::TimelineTraceEventProcessor::TraceEvent::phase):
1013         (WebCore::TimelineTraceEventProcessor::TraceEvent::name):
1014         (WebCore::TimelineTraceEventProcessor::TraceEvent::threadIdentifier):
1015         (WebCore::TimelineTraceEventProcessor::TraceEvent::argumentCount):
1016         (WebCore::TimelineTraceEventProcessor::TraceEvent::asBool):
1017         (WebCore::TimelineTraceEventProcessor::TraceEvent::asInt):
1018         (WebCore::TimelineTraceEventProcessor::TraceEvent::asUInt):
1019         (WebCore::TimelineTraceEventProcessor::TraceEvent::asDouble):
1020         (WebCore::TimelineTraceEventProcessor::TraceEvent::asString):
1021         (WebCore::TimelineTraceEventProcessor::EventTypeEntry::EventTypeEntry):
1022         (EventTypeEntry):
1023         * inspector/front-end/TimelineFrameController.js:
1024         (WebInspector.TimelineFrameController.prototype._addRecord):
1025         * inspector/front-end/TimelinePanel.js:
1026         (WebInspector.TimelineRecordListRow.prototype.update):
1027         (WebInspector.TimelineRecordGraphRow.prototype.update):
1028         * inspector/front-end/TimelinePresentationModel.js:
1029         (WebInspector.TimelinePresentationModel.Record):
1030         (WebInspector.TimelinePresentationModel.insertRetrospecitveRecord):
1031         (WebInspector.TimelinePresentationModel.Record.prototype.get isBackground):
1032         * inspector/front-end/timelinePanel.css:
1033         (.timeline-tree-item.background .timeline-tree-icon):
1034         (.timeline-graph-side.background .timeline-graph-bar):
1035
1036 2013-02-01  Andrey Kosyakov  <caseq@chromium.org>
1037
1038         Web Inspector: display background events on Timeline
1039         https://bugs.webkit.org/show_bug.cgi?id=108599
1040
1041         Reviewed by Pavel Feldman.
1042
1043         - add optional `thread' field to timeline event;
1044         - if thread field is present, display the event as 'background' (hollow bar / list icon), align to nearest foreground event;
1045         - do not account background events in Frame mode of overview.
1046
1047         * inspector/Inspector.json:
1048         * inspector/InspectorTimelineAgent.cpp:
1049         (WebCore::InspectorTimelineAgent::appendBackgroundThreadRecord):
1050         (WebCore):
1051         * inspector/InspectorTimelineAgent.h:
1052         (InspectorTimelineAgent):
1053         * inspector/front-end/TimelineFrameController.js:
1054         (WebInspector.TimelineFrameController.prototype._addRecord):
1055         * inspector/front-end/TimelinePanel.js:
1056         (WebInspector.TimelineRecordListRow.prototype.update):
1057         (WebInspector.TimelineRecordGraphRow.prototype.update):
1058         * inspector/front-end/TimelinePresentationModel.js:
1059         (WebInspector.TimelinePresentationModel.Record):
1060         (WebInspector.TimelinePresentationModel.insertRetrospecitveRecord):
1061         (WebInspector.TimelinePresentationModel.Record.prototype.get isBackground):
1062         * inspector/front-end/timelinePanel.css:
1063         (.timeline-tree-item.background .timeline-tree-icon):
1064         (.timeline-graph-side.background .timeline-graph-bar):
1065
1066 2013-02-26  Kentaro Hara  <haraken@chromium.org>
1067
1068         [V8] Rename BatchedCallback to BatchedMethod
1069         https://bugs.webkit.org/show_bug.cgi?id=110791
1070
1071         Reviewed by Adam Barth.
1072
1073         Now 'Callback' is used to refer to functions that are called back
1074         by V8. DOM methods should be referred to as 'Method's.
1075
1076         No tests. No change in behavior.
1077
1078         * bindings/scripts/CodeGeneratorV8.pm:
1079         (GenerateImplementation):
1080         * bindings/scripts/test/V8/V8Float64Array.cpp:
1081         (WebCore):
1082         (WebCore::ConfigureV8Float64ArrayTemplate):
1083         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1084         (WebCore):
1085         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
1086         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1087         (WebCore):
1088         (WebCore::ConfigureV8TestEventTargetTemplate):
1089         * bindings/scripts/test/V8/V8TestInterface.cpp:
1090         (WebCore):
1091         (WebCore::ConfigureV8TestInterfaceTemplate):
1092         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1093         (WebCore):
1094         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
1095         * bindings/scripts/test/V8/V8TestObj.cpp:
1096         (WebCore):
1097         (WebCore::ConfigureV8TestObjTemplate):
1098         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1099         (WebCore):
1100         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
1101         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
1102         (WebCore):
1103         (WebCore::ConfigureV8TestTypedefsTemplate):
1104         * bindings/v8/V8DOMConfiguration.cpp:
1105         (WebCore::V8DOMConfiguration::batchConfigureCallbacks):
1106         (WebCore::V8DOMConfiguration::configureTemplate):
1107         * bindings/v8/V8DOMConfiguration.h:
1108         (V8DOMConfiguration):
1109
1110 2013-02-26  Takashi Toyoshima  <toyoshim@chromium.org>
1111
1112         Add User-Agent header in opening handshake headers.
1113         https://bugs.webkit.org/show_bug.cgi?id=110601
1114
1115         Reviewed by Alexey Proskuryakov.
1116
1117         RFC-6455 doesn't require to send User-Agent header, but allow it.
1118         Many web application developers want to have it, and Firefox already
1119         did it. This patch adds User-Agent header in opening handshake also in
1120         WebKit ports.
1121
1122         Test: http/tests/websocket/tests/hybi/useragent-in-openinghandshake.html
1123
1124         * Modules/websockets/WebSocketHandshake.cpp:
1125         (WebCore::WebSocketHandshake::clientHandshakeMessage):
1126         (WebCore::WebSocketHandshake::clientHandshakeRequest):
1127
1128 2013-02-26  Mike West  <mkwst@chromium.org>
1129
1130         XSSAuditor: Don't rely on implicit casting when copying the document's KURL to String.
1131         https://bugs.webkit.org/show_bug.cgi?id=110859
1132
1133         Reviewed by Jochen Eisinger.
1134
1135         XSSAuditor::init should explicitly make a thread-safe copy of the
1136         document's URL as a String rather than relying on implicit casting from
1137         a copy of the KURL.
1138
1139         This shouldn't change any visible behavior; all existing XSSAuditor
1140         tests should continue to pass. They'll now just be a bit more smug while
1141         doing so.
1142
1143         * html/parser/XSSAuditor.cpp:
1144         (WebCore::XSSAuditor::init):
1145
1146 2013-02-26  Takashi Sakamoto  <tasak@google.com>
1147
1148         Shadow DOM styles appear to be over-eagerly shared
1149         https://bugs.webkit.org/show_bug.cgi?id=110797
1150
1151         Reviewed by Dimitri Glazkov.
1152
1153         A style of a distributed node should not be shared, because the node
1154         might be affected by styles in a shadow dom tree, i.e. :distributed
1155         or something.
1156
1157         Test: fast/dom/shadow/no-style-sharing-with-distributed-nodes.html
1158
1159         * css/StyleResolver.cpp:
1160         (WebCore::StyleResolver::locateCousinList):
1161         Skip shadow hosts, because children of shadow hosts are distributed
1162         nodes and cannot share their styles.
1163
1164 2013-02-26  Adam Klein  <adamk@chromium.org>
1165
1166         Remove unused conditional includes of {MathML,SVG}Names.h
1167         https://bugs.webkit.org/show_bug.cgi?id=110809
1168
1169         Reviewed by Eric Seidel.
1170
1171         * html/parser/HTMLConstructionSite.cpp:
1172
1173 2013-02-26  Eric Seidel  <eric@webkit.org>
1174
1175         Threaded HTML parser fails fast/loader/stateobjects/state-attribute-history-getter.html
1176         https://bugs.webkit.org/show_bug.cgi?id=110801
1177
1178         Reviewed by Adam Barth.
1179
1180         This causes 6 more tests to pass for the threaded parser,
1181         an solves all of our timeout issues.
1182
1183         These tests which were failing were racy, we just were never
1184         hitting the race due to using file urls.  This change fixes
1185         the threaded parser to emulate one more of the EOF quirks from
1186         the loader/main-thread-parser interaction.
1187
1188         * html/parser/HTMLDocumentParser.cpp:
1189         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
1190
1191 2013-02-26  Alexander Pavlov  <apavlov@chromium.org>
1192
1193         Web Inspector: CSSAgent.setStyleSheetText crashes on inline styles
1194         https://bugs.webkit.org/show_bug.cgi?id=110359
1195
1196         Reviewed by Pavel Feldman.
1197
1198         * inspector/InspectorCSSAgent.cpp:
1199         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo): Pass ExceptionCode into setText().
1200         (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::redo): Ditto.
1201         * inspector/InspectorStyleSheet.cpp:
1202         (WebCore::InspectorStyleSheet::setText): Make use of checkPageStyleSheet().
1203         (WebCore::InspectorStyleSheet::setRuleSelector): Ditto.
1204         (WebCore::InspectorStyleSheet::addRule): Ditto.
1205         (WebCore::InspectorStyleSheet::deleteRule): Ditto.
1206         (WebCore::InspectorStyleSheet::checkPageStyleSheet):
1207           Return NOT_SUPPORTED_ERR if no m_pageStyleSheet.
1208         (WebCore::InspectorStyleSheet::setStyleText): Check field directly.
1209         * inspector/InspectorStyleSheet.h:
1210
1211 2013-02-26  Tien-Ren Chen  <trchen@chromium.org>
1212
1213         Implement coordinated scrollbar for subframes and overflow:scroll
1214         https://bugs.webkit.org/show_bug.cgi?id=109560
1215
1216         Reviewed by James Robinson.
1217
1218         This patch obsoletes ScrollingCoordinatorPrivate for the Chromium
1219         implementation. Also removes the concept of a single main scrolling
1220         layer. Should use HashMap to keep track resources for multiple
1221         scrollable objects.
1222
1223         Many of the callbacks are extended to support ScrollableArea instead
1224         of just FrameView. Now ScrollingCoordinatorChromium coordinates
1225         scrollbars for both subframes and overflow:scroll.
1226
1227         Some drive-by change:
1228         1. Remove the GraphicsLayer parameter for layer change callbacks.
1229            Should be able to get the latest layer from the ScrollableArea anyway.
1230         2. Should start from main frame document when updating touch event target rects.
1231
1232         New chromium test: ScrollingCoordinatorChromiumTest.iframeScrolling
1233
1234         * page/Frame.cpp:
1235         (WebCore::Frame::willDetachPage):
1236         * page/FrameView.cpp:
1237         (WebCore::FrameView::prepareForDetach):
1238         (WebCore::FrameView::layerForScrolling):
1239         (WebCore):
1240         * page/FrameView.h:
1241         (FrameView):
1242         * page/scrolling/ScrollingCoordinator.cpp:
1243         (WebCore::ScrollingCoordinator::scrollLayerForScrollableArea):
1244         (WebCore):
1245         (WebCore::ScrollingCoordinator::horizontalScrollbarLayerForScrollableArea):
1246         (WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea):
1247         * page/scrolling/ScrollingCoordinator.h:
1248         (WebCore::ScrollingCoordinator::willDestroyScrollableArea):
1249         (WebCore::ScrollingCoordinator::scrollableAreaScrollLayerDidChange):
1250         (WebCore::ScrollingCoordinator::scrollableAreaScrollbarLayerDidChange):
1251         (ScrollingCoordinator):
1252         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1253         (WebCore::scrollingWebLayerForGraphicsLayer):
1254         (WebCore::ScrollingCoordinatorChromium::scrollingWebLayerForScrollableArea):
1255         (WebCore::ScrollingCoordinatorChromium::ScrollingCoordinatorChromium):
1256         (WebCore::ScrollingCoordinatorChromium::~ScrollingCoordinatorChromium):
1257         (WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated):
1258         (WebCore::ScrollingCoordinatorChromium::touchEventTargetRectsDidChange):
1259         (WebCore::createScrollbarLayer):
1260         (WebCore::detachScrollbarLayer):
1261         (WebCore::setupScrollbarLayer):
1262         (WebCore::ScrollingCoordinatorChromium::willDestroyScrollableArea):
1263         (WebCore::ScrollingCoordinatorChromium::scrollableAreaScrollbarLayerDidChange):
1264         (WebCore::ScrollingCoordinatorChromium::setNonFastScrollableRegion):
1265         (WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRects):
1266         (WebCore::ScrollingCoordinatorChromium::setWheelEventHandlerCount):
1267         (WebCore::ScrollingCoordinatorChromium::setShouldUpdateScrollLayerPositionOnMainThread):
1268         (WebCore::ScrollingCoordinatorChromium::setLayerIsContainerForFixedPositionLayers):
1269         (WebCore::ScrollingCoordinatorChromium::setLayerIsFixedToContainerLayer):
1270         (WebCore::ScrollingCoordinatorChromium::scrollableAreaScrollLayerDidChange):
1271         (WebCore::ScrollingCoordinatorChromium::addWebScrollbarLayer):
1272         (WebCore):
1273         (WebCore::ScrollingCoordinatorChromium::getWebScrollbarLayer):
1274         (WebCore::ScrollingCoordinatorChromium::removeWebScrollbarLayer):
1275         * page/scrolling/chromium/ScrollingCoordinatorChromium.h:
1276         (WebCore):
1277         (ScrollingCoordinatorChromium):
1278         * page/scrolling/mac/ScrollingCoordinatorMac.h:
1279         (ScrollingCoordinatorMac):
1280         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
1281         (WebCore::ScrollingCoordinatorMac::scrollableAreaScrollbarLayerDidChange):
1282         * platform/ScrollableArea.h:
1283         (ScrollableArea):
1284         (WebCore::ScrollableArea::layerForScrolling):
1285         * platform/graphics/GraphicsLayer.h:
1286         (GraphicsLayer):
1287         (WebCore::GraphicsLayer::setContentsToPlatformLayer):
1288         * rendering/RenderLayer.cpp:
1289         (WebCore::RenderLayer::~RenderLayer):
1290         (WebCore::RenderLayer::layerForScrolling):
1291         (WebCore):
1292         * rendering/RenderLayer.h:
1293         (RenderLayer):
1294         * rendering/RenderLayerBacking.cpp:
1295         (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
1296         (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
1297         (WebCore::RenderLayerBacking::updateScrollingLayers):
1298         * rendering/RenderLayerCompositor.cpp:
1299         (WebCore::RenderLayerCompositor::frameViewDidScroll):
1300         (WebCore::RenderLayerCompositor::scrollingLayerDidChange):
1301         (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
1302
1303 2013-02-26  Kentaro Hara  <haraken@chromium.org>
1304
1305         [V8] Overloaded constructors don't need header declarations
1306         https://bugs.webkit.org/show_bug.cgi?id=110799
1307
1308         Reviewed by Adam Barth.
1309
1310         They are implemented as static functions in cpp files.
1311         Header declarations are not needed.
1312
1313         No tests. No change in behavior.
1314
1315         * bindings/scripts/CodeGeneratorV8.pm:
1316         (GenerateHeader):
1317         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
1318
1319 2013-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>
1320
1321         Unreviewed, rolling out r144016.
1322         http://trac.webkit.org/changeset/144016
1323         https://bugs.webkit.org/show_bug.cgi?id=110856
1324
1325         Breaks compilation on chromium mac (Requested by vsevik on
1326         #webkit).
1327
1328         * platform/chromium/KeyCodeConversionGtk.cpp:
1329         (WebCore::windowsKeyCodeForKeyEvent):
1330
1331 2013-02-26  Glenn Adams  <glenn@skynav.com>
1332
1333         Add support to -webkit-line-break property for CSS3 Text line-break property values and semantics.
1334         https://bugs.webkit.org/show_bug.cgi?id=89235
1335
1336         Reviewed by Eric Seidel.
1337
1338         This patch adds semantic support for the CSS3 line-break property (qua -webkit-line-break),
1339         and enables testing on (apple) mac ports. Follow on patches will enable these tests on
1340         other ports as they are incrementally verified.
1341
1342         See also wiki documentation at:
1343         [1] http://trac.webkit.org/wiki/LineBreaking
1344         [2] http://trac.webkit.org/wiki/LineBreakingCSS3Mapping
1345
1346         Tests: css3/line-break/line-break-auto-centered.html
1347                css3/line-break/line-break-auto-half-kana.html
1348                css3/line-break/line-break-auto-hyphens.html
1349                css3/line-break/line-break-auto-inseparables.html
1350                css3/line-break/line-break-auto-iteration-marks.html
1351                css3/line-break/line-break-auto-postfixes.html
1352                css3/line-break/line-break-auto-prefixes.html
1353                css3/line-break/line-break-auto-sound-marks.html
1354                css3/line-break/line-break-loose-centered.html
1355                css3/line-break/line-break-loose-half-kana.html
1356                css3/line-break/line-break-loose-hyphens.html
1357                css3/line-break/line-break-loose-inseparables.html
1358                css3/line-break/line-break-loose-iteration-marks.html
1359                css3/line-break/line-break-loose-postfixes.html
1360                css3/line-break/line-break-loose-prefixes.html
1361                css3/line-break/line-break-loose-sound-marks.html
1362                css3/line-break/line-break-normal-centered.html
1363                css3/line-break/line-break-normal-half-kana.html
1364                css3/line-break/line-break-normal-hyphens.html
1365                css3/line-break/line-break-normal-inseparables.html
1366                css3/line-break/line-break-normal-iteration-marks.html
1367                css3/line-break/line-break-normal-postfixes.html
1368                css3/line-break/line-break-normal-prefixes.html
1369                css3/line-break/line-break-normal-sound-marks.html
1370                css3/line-break/line-break-strict-centered.html
1371                css3/line-break/line-break-strict-half-kana.html
1372                css3/line-break/line-break-strict-hyphens.html
1373                css3/line-break/line-break-strict-inseparables.html
1374                css3/line-break/line-break-strict-iteration-marks.html
1375                css3/line-break/line-break-strict-postfixes.html
1376                css3/line-break/line-break-strict-prefixes.html
1377                css3/line-break/line-break-strict-sound-marks.html
1378
1379         These tests were previously added in http://trac.webkit.org/changeset/143378, but skipped
1380         in generic TestExpectations. In this patch, they are marked as Pass for the (apple) mac ports.
1381
1382         * platform/text/LineBreakIteratorPoolICU.h:
1383         (WebCore::LineBreakIteratorPool::makeLocaleWithBreakKeyword):
1384         Add static function to construct ICU locale argument (also used as pool key) with additional
1385         break keyword.
1386         (LineBreakIteratorPool):
1387         (WebCore::LineBreakIteratorPool::take):
1388         (WebCore::LineBreakIteratorPool::put):
1389         Remove direct dependency from ICU library (and types), moving that dependency into
1390         new {open,close}LineBreakIterator() functions (defined in TextBreakIteratorICU.cpp).
1391         Update to take line break mode into account.
1392         Create (and cache) different break iterators depending on line break mode (in addition to locale),
1393         which entails expanding pool entry key format to optionally append "@break=" +
1394         "loose"|"normal"|"strict" keyword to locale string.
1395
1396         * platform/text/TextBreakIterator.h:
1397         (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
1398         (WebCore::LazyLineBreakIterator::isLooseCJKMode):
1399         (WebCore::LazyLineBreakIterator::get):
1400         (WebCore::LazyLineBreakIterator::reset):
1401         (LazyLineBreakIterator):
1402         Define LineBreakIteratorMode enumeration for use in TextBreakIterator et al.
1403         Add state member to indicate line break mode.
1404
1405         * platform/text/TextBreakIteratorICU.cpp:
1406         (WebCore::acquireLineBreakIterator):
1407         Use new line break mode when making iterator from pool.
1408         Handle change of return type of LineBreakIteratorPool::take() to non-ICU type,
1409         i.e., TextBreakIterator* instead of ICU's UBreakIterator*.
1410         (WebCore::releaseLineBreakIterator):
1411         Handle change of parameter type of LineBreakIteratorPool::put() to non-ICU type,
1412         i.e., TextBreakIterator* instead of ICU's UBreakIterator*.
1413         (WebCore):
1414         (WebCore::isCJKLocale):
1415         New functions for determining if CJK rules apply.
1416         (WebCore::openLineBreakIterator):
1417         New function for abstracting opening of ICU style line break iterator. This is now
1418         used in LineBreakIteratorPoolICU.h rather than having direct ICU API dependency there.
1419         This function also takes into account the line break mode.
1420         (WebCore::closeLineBreakIterator):
1421         (WebCore::mapLineIteratorModeToRules):
1422         New function for abstracting closing of ICU style line break iterator. This is now
1423         used in LineBreakIteratorPoolICU.h rather than having direct ICU API dependency there.
1424
1425         * rendering/RenderBlockLineLayout.cpp:
1426         (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1427         Pass line break iterator mode flag when reseting LazyLineBreakIterator.
1428         Add looseMode local variable to prevent need for computing under isBreakable().
1429
1430         * rendering/RenderText.cpp:
1431         (WebCore::mapLineBreakToIteratorMode):
1432         Add implementation for mapLineBreakToIteratorMode(), used by both RenderText::computePreferredLogicalWidths
1433         and RenderBlock::LineBreaker::nextLineBreak.
1434         (WebCore):
1435         (WebCore::RenderText::computePreferredLogicalWidths):
1436         Ensure (lazy line) breakIterator is initialized for line break mode.
1437         Ensure isBreakable() is passed loose mode flag to match behavior in RenderBlock::LineBreaker::nextLineBreak.
1438
1439         * rendering/RenderText.h:
1440         (WebCore):
1441         Add declaration for mapLineBreakToIteratorMode(), used by both RenderText::computePreferredLogicalWidths
1442         and RenderBlock::LineBreaker::nextLineBreak.
1443
1444         * rendering/break_lines.cpp:
1445         (WebCore):
1446         Introduce (local) enum NBSPBehavior for expanding template on nextBreakablePosition.
1447         (WebCore::isBreakableSpace):
1448         Add externally specified loose mode parameter to prevent need to invoke line break iterator
1449         accessor method on each invocation. Use new loose mode flavors off NBP functions.
1450         (WebCore::needsLineBreakIterator):
1451         Use enum NBSP behavior template parameter rather than boolean.
1452         (WebCore::nextBreakablePositionNonLoosely):
1453         Extend name to distinguish from loose flavor of this function.
1454         (WebCore::nextBreakablePositionLoosely):
1455         Add loose flavor of NBP invoked only when loose mode applies, in which case ASCII shortcut
1456         table cannot be used.
1457         (WebCore::nextBreakablePosition):
1458         (WebCore::nextBreakablePositionIgnoringNBSP):
1459         Use (renamed) non-loose flavor of NBP.
1460         (WebCore::nextBreakablePositionLoose):
1461         (WebCore::nextBreakablePositionIgnoringNBSPLoose):
1462         Introduce loose flavor of NBP template expansions.
1463
1464         * rendering/break_lines.h:
1465         (WebCore):
1466         (WebCore::isBreakable):
1467         Add externally specified loose mode parameter to prevent need to invoke line break iterator
1468         accessor method on each invocation.
1469
1470 2013-02-26  James Weatherall  <wez@chromium.org>
1471
1472         keydown and keyup events have zero keycode for some numeric pad keys under Chromium on Linux
1473         https://bugs.webkit.org/show_bug.cgi?id=85642
1474
1475         Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.
1476
1477         Reviewed by Ojan Vafai.
1478
1479         * platform/chromium/KeyCodeConversionGtk.cpp:
1480         (WebCore::windowsKeyCodeForKeyEvent):
1481
1482 2013-02-25  Adam Barth  <abarth@webkit.org>
1483
1484         6% regression in intl1 page cycler on chromium-mac
1485         https://bugs.webkit.org/show_bug.cgi?id=110784
1486
1487         Unreviewed.
1488
1489         This patch restores the code that I rolled out in
1490         http://trac.webkit.org/changeset/143960 and
1491         http://trac.webkit.org/changeset/143983. Rolling out those patches did
1492         not heal the bot.
1493
1494         * dom/Element.cpp:
1495         (WebCore::Element::addAttributeInternal):
1496         (WebCore::ShareableElementData::ShareableElementData):
1497         (WebCore::UniqueElementData::makeShareableCopy):
1498         (WebCore::UniqueElementData::addAttribute):
1499         (WebCore::UniqueElementData::removeAttribute):
1500         (WebCore::ElementData::reportMemoryUsage):
1501         (WebCore::UniqueElementData::getAttributeItem):
1502         (WebCore):
1503         (WebCore::UniqueElementData::attributeItem):
1504         * dom/Element.h:
1505         (ElementData):
1506         (UniqueElementData):
1507         (WebCore::isShadowHost):
1508         (WebCore::ElementData::length):
1509         (WebCore::ElementData::attributeItem):
1510         * html/parser/BackgroundHTMLParser.cpp:
1511         (WebCore::BackgroundHTMLParser::resumeFrom):
1512         (WebCore::BackgroundHTMLParser::pumpTokenizer):
1513         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
1514         * html/parser/CSSPreloadScanner.cpp:
1515         (WebCore):
1516         (WebCore::CSSPreloadScanner::scanCommon):
1517         (WebCore::CSSPreloadScanner::scan):
1518         (WebCore::CSSPreloadScanner::emitRule):
1519         * html/parser/CSSPreloadScanner.h:
1520         (CSSPreloadScanner):
1521         * html/parser/HTMLDocumentParser.cpp:
1522         (WebCore::HTMLDocumentParser::startBackgroundParser):
1523         * html/parser/HTMLPreloadScanner.cpp:
1524         (WebCore::TokenPreloadScanner::tagIdFor):
1525         (WebCore):
1526         (WebCore::TokenPreloadScanner::initiatorFor):
1527         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
1528         (TokenPreloadScanner::StartTagScanner):
1529         (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
1530         (WebCore::TokenPreloadScanner::createCheckpoint):
1531         (WebCore::TokenPreloadScanner::rewindTo):
1532         (WebCore::TokenPreloadScanner::scan):
1533         (WebCore::TokenPreloadScanner::scanCommon):
1534         (WebCore::TokenPreloadScanner::updatePredictedBaseURL):
1535         (WebCore::HTMLPreloadScanner::scan):
1536         * html/parser/HTMLPreloadScanner.h:
1537         (TokenPreloadScanner):
1538         (WebCore::TokenPreloadScanner::isSafeToSendToAnotherThread):
1539         (WebCore::TokenPreloadScanner::Checkpoint::Checkpoint):
1540         (Checkpoint):
1541
1542 2013-02-25  Chris Rogers  <crogers@google.com>
1543
1544         AudioDestinationChromium should pass in inputDeviceId when creating WebKit::WebAudioDevice
1545         https://bugs.webkit.org/show_bug.cgi?id=110796
1546
1547         Reviewed by Kenneth Russell.
1548
1549         * platform/audio/chromium/AudioDestinationChromium.cpp:
1550         (WebCore::AudioDestinationChromium::AudioDestinationChromium):
1551
1552 2013-02-25  Mark Lam  <mark.lam@apple.com>
1553
1554         Need a more robust WebSQL disk usage computation.
1555         https://bugs.webkit.org/show_bug.cgi?id=110805.
1556
1557         Reviewed by Geoffrey Garen.
1558
1559         - Changed DatabaseTracker::usageForOrigin() to compute the disk usage
1560           for a specified origin by fetching database sizes from the file system
1561           instead of using cached file size values.
1562
1563         - The OriginQuotaManager and OriginUsageRecord are no longer needed.
1564           Updated build files to reflect this.
1565
1566         - Removed getMaxSizeForDatabase() from DatabaseManager, DatabaseServer,
1567           and AbstractDatabaseServer since it is only needed in the backend.
1568
1569         - DatabaseTracker::getMaxSizeForDatabase() now calls usageForOrigin()
1570           to get the disk usage for its computation.
1571
1572         - The performance difference for this changes is a 1.6% degradation
1573           per additional database whose size needs to be fetched. This is a
1574           worst case estimated based on the disk-stat-speed-test.html benchmark
1575           (attached to bugzilla). The benchmark writes an average of 16 bytes per
1576           transaction. Most real-world transactions will likely write more
1577           content than that. Since disk write IO time will dominate over memory
1578           read time for fetching the file size, the degradation ratio will only
1579           reduce with larger workloads.
1580
1581         No layout test, but there is a quota-test.html attached to bugzilla.
1582         The test is a webpage that can be loaded into multiple tabs to
1583         consuming storage space. While the test is running, we can run a
1584         "du -k; du -k *" on the database directory to verify that the total
1585         disk usage does not far exceed the allowed quota (some small error
1586         is expected). Without this change, each database from each tab may
1587         exceed the quota by that same maginitude of error.
1588
1589         * CMakeLists.txt:
1590         * GNUmakefile.list.am:
1591         * Modules/webdatabase/AbstractDatabaseServer.h:
1592         * Modules/webdatabase/Database.cpp:
1593         * Modules/webdatabase/Database.h:
1594         * Modules/webdatabase/DatabaseBackendBase.cpp:
1595         (WebCore::DatabaseBackendBase::maximumSize):
1596         * Modules/webdatabase/DatabaseManager.cpp:
1597         * Modules/webdatabase/DatabaseManager.h:
1598         * Modules/webdatabase/DatabaseServer.cpp:
1599         * Modules/webdatabase/DatabaseServer.h:
1600         * Modules/webdatabase/DatabaseTracker.cpp:
1601         (WebCore::DatabaseTracker::hasAdequateQuotaForOrigin):
1602         (WebCore::DatabaseTracker::canEstablishDatabase):
1603         (WebCore::DatabaseTracker::retryCanEstablishDatabase):
1604         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
1605         (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
1606         (WebCore::DatabaseTracker::fullPathForDatabase):
1607         (WebCore::DatabaseTracker::addOpenDatabase):
1608         (WebCore::DatabaseTracker::removeOpenDatabase):
1609         (WebCore::DatabaseTracker::usageForOrigin):
1610         (WebCore::DatabaseTracker::deleteOrigin):
1611         (WebCore::DatabaseTracker::deleteDatabase):
1612         * Modules/webdatabase/DatabaseTracker.h:
1613         * Modules/webdatabase/OriginQuotaManager.cpp: Removed.
1614         * Modules/webdatabase/OriginQuotaManager.h: Removed.
1615         * Modules/webdatabase/OriginUsageRecord.cpp: Removed.
1616         * Modules/webdatabase/OriginUsageRecord.h: Removed.
1617         * Modules/webdatabase/SQLTransactionBackend.cpp:
1618         (WebCore::SQLTransactionBackend::runCurrentStatementAndGetNextState):
1619         * Modules/webdatabase/SQLTransactionBackendSync.cpp:
1620         (WebCore::SQLTransactionBackendSync::executeSQL):
1621         * Modules/webdatabase/SQLTransactionClient.cpp:
1622         * Modules/webdatabase/SQLTransactionClient.h:
1623         * Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp:
1624         * Target.pri:
1625         * WebCore.gyp/WebCore.gyp:
1626         * WebCore.gypi:
1627         * WebCore.vcproj/WebCore.vcproj:
1628         * WebCore.vcxproj/WebCore.vcxproj:
1629         * WebCore.vcxproj/WebCore.vcxproj.filters:
1630         * WebCore.xcodeproj/project.pbxproj:
1631
1632 2013-02-25  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
1633
1634         [texmap] Rename TextureMapperGL::ClipStack::init to reset
1635         https://bugs.webkit.org/show_bug.cgi?id=110783
1636
1637         Reviewed by Noam Rosenthal.
1638
1639         Functions named init() are usually called inside ctor's to initialize
1640         member variables that were unable to be assigned on an initialization
1641         list, which is not the case, and also because reset() better reflects
1642         the behavior (clears the clip stack and assigns a value to the initial
1643         clip state).
1644
1645         No behavior changes, thus covered by existing tests.
1646
1647         * platform/graphics/texmap/TextureMapperGL.cpp:
1648         (WebCore::TextureMapperGL::ClipStack::reset):
1649         (WebCore::TextureMapperGL::beginPainting):
1650         (WebCore::BitmapTextureGL::initializeDepthBuffer):
1651         * platform/graphics/texmap/TextureMapperGL.h:
1652         (ClipStack):
1653
1654 2013-02-25  Adam Barth  <abarth@webkit.org>
1655
1656         Threaded HTML parser should pass fast/parser/iframe-sets-parent-to-javascript-url.html
1657         https://bugs.webkit.org/show_bug.cgi?id=110637
1658
1659         Reviewed by Eric Seidel.
1660
1661         With the main thread parser, we always parse the first chunk of content
1662         returned as the result of evaluating a JavaScript URL synchronously. In
1663         particular, if the first chunk has an inline script, we'll execute it
1664         synchronously.
1665
1666         Previous to this patch, the threaded parser would always parse this
1667         content asynchronously. It's conceivable that there could be some
1668         content relying on the synchronous behavior, so this patch introduces
1669         the notion of "pinning" a parser to the main thread and uses that
1670         concept to force the result of JavaScript URLs to be parsed on the main
1671         thread (which is probably desirable anyway because they're likely to be
1672         quite short).
1673
1674         This patch fixes fast/parser/iframe-sets-parent-to-javascript-url.html
1675         and fast/dom/javascript-url-crash-function.html with the threaded
1676         parser with --enable-threaded-html-parser.
1677
1678         * dom/DocumentParser.h:
1679         (WebCore::DocumentParser::pinToMainThread):
1680         (DocumentParser):
1681         * html/parser/HTMLDocumentParser.cpp:
1682         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
1683         (WebCore):
1684         (WebCore::HTMLDocumentParser::pinToMainThread):
1685         * html/parser/HTMLDocumentParser.h:
1686         (HTMLDocumentParser):
1687         (WebCore::HTMLDocumentParser::shouldUseThreading):
1688         * loader/DocumentWriter.cpp:
1689         (WebCore::DocumentWriter::replaceDocument):
1690
1691 2013-02-25  Jessie Berlin  <jberlin@apple.com>
1692
1693         Update the localizable strings file.
1694
1695         Rubber-stamped by Anders Carlsson.
1696
1697         * English.lproj/Localizable.strings:
1698
1699 2013-02-25  Xueqing Huang  <huangxueqing@baidu.com>
1700
1701         Flexbox should ignore firstLetter pseudo element.
1702         https://bugs.webkit.org/show_bug.cgi?id=105126
1703
1704         Reviewed by Tony Chang.
1705
1706         The CSS WG decided that first-line and first-letter should not
1707         apply to flex containers.
1708         http://dev.w3.org/csswg/css3-flexbox/issue-cr-2012#issue-13
1709
1710         tests:
1711         css3/flexbox/flexbox-ignore-firstLetter.html
1712         css3/flexbox/flexbox-ignore-container-firstLetter.html       
1713
1714         * rendering/RenderBlock.cpp:
1715         (WebCore::findFirstLetterBlock):
1716
1717 2013-02-25  Simon Fraser  <simon.fraser@apple.com>
1718
1719         Lots of unnecessary DidLayout notifications when scrolling zoomed page with iframes
1720         https://bugs.webkit.org/show_bug.cgi?id=110824
1721
1722         Reviewed by Tim Horton.
1723         
1724         RenderWidget::setWidgetGeometry() compares the old and new frame rects to decide
1725         if the geometry changed. However, it use implicit IntRect->LayoutRect promotion in
1726         the comparison, and then roundedIntRect() in setting. Thus the code would think
1727         that the geometry changed, even when the final assigned frame did not.
1728         
1729         Fix by computing the new frame using roundedIntRect(), and using that to determine
1730         whether the geometry changed.
1731
1732         No way to test DidLayout notifications in DRT/WTR.
1733
1734         * rendering/RenderWidget.cpp:
1735         (WebCore::RenderWidget::setWidgetGeometry):
1736
1737 2013-02-21  Jeffrey Pfau  <jpfau@apple.com>
1738
1739         Optionally partition cache to prevent using cache for tracking
1740         https://bugs.webkit.org/show_bug.cgi?id=110269
1741
1742         Reviewed by Maciej Stachowiak.
1743
1744         Implement memory cache partitioning by passing the cache name through
1745         resource requests into a new version of resourceForURL.
1746
1747         Test: http/tests/cache/partitioned-cache.html
1748
1749         * Configurations/FeatureDefines.xcconfig: Add defines for cache partitioning and public suffix list usage
1750         * WebCore.exp.in: Export new functions for WKSI and test suite
1751         * WebCore.xcodeproj/project.pbxproj:
1752         * html/DOMURL.cpp:
1753         (WebCore::DOMURL::revokeObjectURL): Retrofit for new resourceForRequest function
1754         * inspector/InspectorPageAgent.cpp:
1755         (WebCore::InspectorPageAgent::cachedResource): Retrofit for new resourceForRequest function
1756         * inspector/InspectorResourceAgent.cpp:
1757         (WebCore::InspectorResourceAgent::replayXHR): Retrofit for new resourceForRequest function
1758         * loader/DocumentLoader.h:
1759         (DocumentLoader):
1760         (WebCore::DocumentLoader::recordMemoryCacheLoadForFutureClientNotification): Retrofit for new resourceForRequest function
1761         (WebCore::DocumentLoader::takeMemoryCacheLoadsForClientNotification): Retrofit for new resourceForRequest function
1762         * loader/FrameLoader.cpp:
1763         (WebCore::FrameLoader::loadedResourceFromMemoryCache): Retrofit for new resourceForRequest function
1764         (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): Retrofit for new resourceForRequest function
1765         * loader/archive/cf/LegacyWebArchive.cpp:
1766         (WebCore::LegacyWebArchive::create): Retrofit for new resourceForRequest function
1767         * loader/cache/CachedResource.cpp:
1768         (WebCore::CachedResource::~CachedResource):
1769         * loader/cache/CachedResource.h: Retrofit for new resourceForRequest function
1770         (CachedResource):
1771         (WebCore::CachedResource::cachePartition):
1772         * loader/cache/CachedResourceLoader.cpp:
1773         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): Retrofit for new resourceForRequest function
1774         (WebCore::CachedResourceLoader::requestResource): Retrofit for new resourceForRequest function
1775         (WebCore::CachedResourceLoader::loadResource): Retrofit for new resourceForRequest function
1776         * loader/cache/MemoryCache.cpp:
1777         (WebCore):
1778         (WebCore::partitionName): Add function for determining absolute partition name
1779         (WebCore::MemoryCache::add): Retrofit for partition mapping
1780         (WebCore::MemoryCache::revalidationSucceeded): Retrofit for partition mapping
1781         (WebCore::MemoryCache::resourceForURL): Call into new resourceForRequest
1782         (WebCore::MemoryCache::resourceForRequest): Retrofit for partition mapping
1783         (WebCore::MemoryCache::evict): Retrofit for partition mapping
1784         (WebCore::MemoryCache::removeResourcesWithOrigin): Retrofit for partition mapping
1785         (WebCore::MemoryCache::getOriginsWithCache): Retrofit for partition mapping
1786         (WebCore::MemoryCache::removeUrlFromCache): Retrofit for partition mapping
1787         (WebCore::MemoryCache::removeRequestFromCache): Retrofit for partition mapping
1788         (WebCore::MemoryCache::removeRequestFromCacheImpl): Retrofit for partition mapping
1789         (WebCore::MemoryCache::crossThreadRemoveRequestFromCache): Add function for calling removeRequestFromCacheImpl that takes a CrossThreadResourceRequestData
1790         (WebCore::MemoryCache::getStatistics): Retrofit for partition mapping
1791         (WebCore::MemoryCache::setDisabled): Retrofit for partition mapping
1792         * loader/cache/MemoryCache.h:
1793         (MemoryCache):
1794         * page/SecurityOrigin.cpp:
1795         (WebCore):
1796         (WebCore::SecurityOrigin::cachePartition): Add function for determining the cache partition name
1797         * page/SecurityOrigin.h:
1798         (SecurityOrigin):
1799         * platform/PublicSuffix.h: Added.
1800         (WebCore):
1801         * platform/mac/PublicSuffixMac.mm: Added.
1802         (WebCore):
1803         (WebCore::isPublicSuffix):
1804         (WebCore::topPrivatelyControlledDomain):
1805         * platform/mac/WebCoreSystemInterface.h:
1806         * platform/mac/WebCoreSystemInterface.mm:
1807         * platform/network/cf/ResourceRequest.h:
1808         (ResourceRequest):
1809         (WebCore::ResourceRequest::cachePartition):
1810         (WebCore::ResourceRequest::setCachePartition):
1811         (CrossThreadResourceRequestData):
1812         * platform/network/cf/ResourceRequestCFNet.cpp:
1813         (WebCore::ResourceRequest::doPlatformCopyData): Pass through cache partition name
1814         (WebCore):
1815         (WebCore::ResourceRequest::doPlatformAdopt): Pass through cache partition name
1816         * platform/network/mac/ResourceRequestMac.mm:
1817         (WebCore::ResourceRequest::doUpdateResourceRequest): Pass through cache partition name
1818         (WebCore::ResourceRequest::doUpdatePlatformRequest): Pass through cache partition name
1819
1820 2013-02-25  Jer Noble  <jer.noble@apple.com>
1821
1822         Normalize ENABLE_ENCRYPTED_MEDIA definitions across all FeatureDefines files.
1823         https://bugs.webkit.org/show_bug.cgi?id=110806
1824
1825         Reviewed by Alexey Proskuryakov.
1826
1827         Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.
1828
1829         * Configurations/FeatureDefines.xcconfig:
1830
1831         Fix some build errors which occurred when both ENCRYPTED_MEDIA and 
1832         ENCRYPTED_MEDIA_V2 were enabled:
1833         * html/HTMLMediaElement.cpp:
1834         (WebCore::HTMLMediaElement::webkitGenerateKeyRequest):
1835         (WebCore::HTMLMediaElement::webkitAddKey):
1836         * page/DOMWindow.idl:
1837
1838 2013-02-25  Adam Barth  <abarth@webkit.org>
1839
1840         6% regression in intl1 page cycler on chromium-mac
1841         https://bugs.webkit.org/show_bug.cgi?id=110784
1842
1843         Reviewed by Eric Seidel.
1844
1845         This patch reverts http://trac.webkit.org/changeset/143014 to see if
1846         that's the cause of the PLT regression. If it's not the cause, I'll
1847         roll it back in.
1848
1849         * dom/Element.cpp:
1850         (WebCore::Element::addAttributeInternal):
1851         (WebCore::ShareableElementData::ShareableElementData):
1852         (WebCore::UniqueElementData::makeShareableCopy):
1853         (WebCore::ElementData::addAttribute):
1854         (WebCore::ElementData::removeAttribute):
1855         (WebCore::ElementData::reportMemoryUsage):
1856         * dom/Element.h:
1857         (ElementData):
1858         (UniqueElementData):
1859         (WebCore::ElementData::mutableAttributeVector):
1860         (WebCore):
1861         (WebCore::ElementData::immutableAttributeArray):
1862         (WebCore::ElementData::length):
1863         (WebCore::ElementData::getAttributeItem):
1864         (WebCore::ElementData::attributeItem):
1865
1866 2013-02-25  Tim Horton  <timothy_horton@apple.com>
1867
1868         Page::m_isInWindow is uninitialized
1869         https://bugs.webkit.org/show_bug.cgi?id=110807
1870
1871         Reviewed by Simon Fraser.
1872
1873         Ideally m_isInWindow and m_isOnscreen would default to false, and be flipped to true
1874         when the Page is put in-window or on-screen. However, only the Mac port seems to ever
1875         call setIsInWindow/didMoveOnscreen. So, we have to default to true and flip it to false
1876         immediately after construction on Mac.
1877
1878         This is just matching the behaviour of the existing m_isOnscreen.
1879
1880         * page/Page.cpp:
1881         (WebCore::Page::Page): Initialize m_isInWindow to true.
1882
1883 2013-02-25  Kentaro Hara  <haraken@chromium.org>
1884
1885         Unreviewed build fix after r143965.
1886
1887         * bindings/scripts/CodeGeneratorV8.pm:
1888         (GenerateOverloadedConstructorCallback):
1889         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1890         (WebCore::TestOverloadedConstructorsV8Internal::constructor):
1891
1892 2013-02-25  Gustavo Noronha Silva  <gns@gnome.org>
1893
1894         Build fix for gtk2-based library.
1895
1896         Reviewed by Martin Robinson.
1897
1898         * platform/gtk/WidgetRenderingContext.cpp: move gtk2 check to after the config.h
1899         include, which is the one that includes autotoolsconfig.h, where the gtk2 define
1900         lives.
1901
1902 2013-02-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1903
1904         Unreviewed, rolling out r143936.
1905         http://trac.webkit.org/changeset/143936
1906         https://bugs.webkit.org/show_bug.cgi?id=110789
1907
1908         Causes webkit_unit_tests failures on android dbg (Requested by
1909         vollick on #webkit).
1910
1911         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1912         (WebCore::GIFImageDecoder::GIFImageDecoder):
1913         (WebCore::GIFImageDecoder::setData):
1914         (WebCore::GIFImageDecoder::frameCount):
1915         (WebCore::GIFImageDecoder::decodingHalted):
1916         (WebCore):
1917         (WebCore::GIFImageDecoder::haveDecodedRow):
1918         (WebCore::GIFImageDecoder::decode):
1919         * platform/image-decoders/gif/GIFImageDecoder.h:
1920         (GIFImageDecoder):
1921         * platform/image-decoders/gif/GIFImageReader.cpp:
1922         (GIFImageReader::doLZW):
1923         (GIFImageReader::read):
1924         * platform/image-decoders/gif/GIFImageReader.h:
1925         (GIFFrameContext):
1926         (GIFFrameContext::GIFFrameContext):
1927         (GIFFrameContext::~GIFFrameContext):
1928         (GIFImageReader::GIFImageReader):
1929         (GIFImageReader::~GIFImageReader):
1930         (GIFImageReader):
1931         (GIFImageReader::globalColormap):
1932         (GIFImageReader::globalColormapSize):
1933
1934 2013-02-25  Kentaro Hara  <haraken@chromium.org>
1935
1936         [V8] Generate a wrapper function for method callbacks
1937         https://bugs.webkit.org/show_bug.cgi?id=110769
1938
1939         Reviewed by Adam Barth.
1940
1941         This is one of steps to insert TRACE_EVENT_STATE() macros
1942         into DOM bindings. This patch introduces an indirection
1943         function for xxxMethod(), like this:
1944
1945         // For non-custom methods
1946         void xxxMethodCallback(...) {
1947           xxxMethod(...);
1948         }
1949
1950         // For custom methods
1951         void xxxMethodCallback(...) {
1952           return xxxMethodCustom(...);
1953         }
1954
1955         No tests. No change in behavior.
1956
1957         * bindings/scripts/CodeGeneratorV8.pm:
1958         (GenerateDomainSafeFunctionGetter):
1959         (GenerateOverloadedFunction):
1960         (GenerateFunctionCallback):
1961         (GenerateFunction):
1962         (GenerateNonStandardFunction):
1963         (GenerateImplementation):
1964         (GenerateFunctionCallString):
1965         * bindings/scripts/test/V8/V8Float64Array.cpp:
1966         (WebCore::Float64ArrayV8Internal::fooMethodCallback):
1967         (Float64ArrayV8Internal):
1968         (WebCore::Float64ArrayV8Internal::setMethodCallback):
1969         (WebCore):
1970         (WebCore::ConfigureV8Float64ArrayTemplate):
1971         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1972         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionMethodCallback):
1973         (TestActiveDOMObjectV8Internal):
1974         (WebCore::TestActiveDOMObjectV8Internal::postMessageMethodCallback):
1975         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1976         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1977         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1978         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionMethodCallback):
1979         (TestCustomNamedGetterV8Internal):
1980         (WebCore):
1981         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1982         (WebCore::TestEventTargetV8Internal::itemMethodCallback):
1983         (TestEventTargetV8Internal):
1984         (WebCore::TestEventTargetV8Internal::addEventListenerMethodCallback):
1985         (WebCore::TestEventTargetV8Internal::removeEventListenerMethodCallback):
1986         (WebCore::TestEventTargetV8Internal::dispatchEventMethodCallback):
1987         (WebCore):
1988         (WebCore::ConfigureV8TestEventTargetTemplate):
1989         * bindings/scripts/test/V8/V8TestInterface.cpp:
1990         (WebCore::TestInterfaceV8Internal::supplementalMethod1MethodCallback):
1991         (TestInterfaceV8Internal):
1992         (WebCore::TestInterfaceV8Internal::supplementalMethod2MethodCallback):
1993         (WebCore::TestInterfaceV8Internal::supplementalMethod3MethodCallback):
1994         (WebCore::TestInterfaceV8Internal::supplementalMethod4MethodCallback):
1995         (WebCore):
1996         (WebCore::ConfigureV8TestInterfaceTemplate):
1997         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1998         (WebCore::TestMediaQueryListListenerV8Internal::methodMethodCallback):
1999         (TestMediaQueryListListenerV8Internal):
2000         (WebCore):
2001         * bindings/scripts/test/V8/V8TestObj.cpp:
2002         (WebCore::TestObjV8Internal::voidMethodMethodCallback):
2003         (TestObjV8Internal):
2004         (WebCore::TestObjV8Internal::voidMethodWithArgsMethodCallback):
2005         (WebCore::TestObjV8Internal::longMethodMethodCallback):
2006         (WebCore::TestObjV8Internal::longMethodWithArgsMethodCallback):
2007         (WebCore::TestObjV8Internal::objMethodMethod):
2008         (WebCore::TestObjV8Internal::objMethodMethodCallback):
2009         (WebCore::TestObjV8Internal::objMethodWithArgsMethodCallback):
2010         (WebCore::TestObjV8Internal::methodWithSequenceArgMethodCallback):
2011         (WebCore::TestObjV8Internal::methodReturningSequenceMethodCallback):
2012         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsMethodCallback):
2013         (WebCore::TestObjV8Internal::serializedValueMethodCallback):
2014         (WebCore::TestObjV8Internal::optionsObjectMethodCallback):
2015         (WebCore::TestObjV8Internal::methodWithExceptionMethodCallback):
2016         (WebCore::TestObjV8Internal::customMethodMethodCallback):
2017         (WebCore::TestObjV8Internal::customMethodWithArgsMethodCallback):
2018         (WebCore::TestObjV8Internal::addEventListenerMethodCallback):
2019         (WebCore::TestObjV8Internal::removeEventListenerMethodCallback):
2020         (WebCore::TestObjV8Internal::withScriptStateVoidMethodCallback):
2021         (WebCore::TestObjV8Internal::withScriptStateObjMethodCallback):
2022         (WebCore::TestObjV8Internal::withScriptStateVoidExceptionMethodCallback):
2023         (WebCore::TestObjV8Internal::withScriptStateObjExceptionMethodCallback):
2024         (WebCore::TestObjV8Internal::withScriptExecutionContextMethodCallback):
2025         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateMethodCallback):
2026         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionMethodCallback):
2027         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesMethodCallback):
2028         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackMethodCallback):
2029         (WebCore::TestObjV8Internal::methodWithOptionalArgMethodCallback):
2030         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgMethodCallback):
2031         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsMethodCallback):
2032         (WebCore::TestObjV8Internal::methodWithOptionalStringMethodCallback):
2033         (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedMethodCallback):
2034         (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringMethodCallback):
2035         (WebCore::TestObjV8Internal::methodWithCallbackArgMethodCallback):
2036         (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgMethodCallback):
2037         (WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgMethodCallback):
2038         (WebCore::TestObjV8Internal::conditionalMethod1MethodCallback):
2039         (WebCore::TestObjV8Internal::conditionalMethod2MethodCallback):
2040         (WebCore::TestObjV8Internal::conditionalMethod3MethodCallback):
2041         (WebCore::TestObjV8Internal::overloadedMethodMethodCallback):
2042         (WebCore::TestObjV8Internal::classMethodMethodCallback):
2043         (WebCore::TestObjV8Internal::classMethodWithOptionalMethodCallback):
2044         (WebCore::TestObjV8Internal::classMethod2MethodCallback):
2045         (WebCore::TestObjV8Internal::overloadedMethod1MethodCallback):
2046         (WebCore::TestObjV8Internal::classMethodWithClampMethodCallback):
2047         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1MethodCallback):
2048         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2MethodCallback):
2049         (WebCore::TestObjV8Internal::enabledPerContextMethod1MethodCallback):
2050         (WebCore::TestObjV8Internal::enabledPerContextMethod2MethodCallback):
2051         (WebCore::TestObjV8Internal::stringArrayFunctionMethodCallback):
2052         (WebCore::TestObjV8Internal::domStringListFunctionMethodCallback):
2053         (WebCore::TestObjV8Internal::getSVGDocumentMethodCallback):
2054         (WebCore::TestObjV8Internal::convert1MethodCallback):
2055         (WebCore::TestObjV8Internal::convert2MethodCallback):
2056         (WebCore::TestObjV8Internal::convert4MethodCallback):
2057         (WebCore::TestObjV8Internal::convert5MethodCallback):
2058         (WebCore::TestObjV8Internal::mutablePointFunctionMethodCallback):
2059         (WebCore::TestObjV8Internal::immutablePointFunctionMethodCallback):
2060         (WebCore::TestObjV8Internal::orangeMethodCallback):
2061         (WebCore::TestObjV8Internal::strictFunctionMethodCallback):
2062         (WebCore::TestObjV8Internal::variadicStringMethodMethodCallback):
2063         (WebCore::TestObjV8Internal::variadicDoubleMethodMethodCallback):
2064         (WebCore::TestObjV8Internal::variadicNodeMethodMethodCallback):
2065         (WebCore):
2066         (WebCore::ConfigureV8TestObjTemplate):
2067         (WebCore::V8TestObj::installPerContextPrototypeProperties):
2068         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2069         (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListMethodCallback):
2070         (TestSerializedScriptValueInterfaceV8Internal):
2071         (WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListMethodCallback):
2072         (WebCore):
2073         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
2074         (WebCore::TestTypedefsV8Internal::funcMethodCallback):
2075         (TestTypedefsV8Internal):
2076         (WebCore::TestTypedefsV8Internal::multiTransferListMethodCallback):
2077         (WebCore::TestTypedefsV8Internal::setShadowMethodCallback):
2078         (WebCore::TestTypedefsV8Internal::methodWithSequenceArgMethodCallback):
2079         (WebCore::TestTypedefsV8Internal::nullableArrayArgMethodCallback):
2080         (WebCore::TestTypedefsV8Internal::funcWithClampMethodCallback):
2081         (WebCore::TestTypedefsV8Internal::immutablePointFunctionMethodCallback):
2082         (WebCore::TestTypedefsV8Internal::stringArrayFunctionMethodCallback):
2083         (WebCore::TestTypedefsV8Internal::stringArrayFunction2MethodCallback):
2084         (WebCore::TestTypedefsV8Internal::methodWithExceptionMethodCallback):
2085         (WebCore):
2086         (WebCore::ConfigureV8TestTypedefsTemplate):
2087
2088 2013-02-25  Kentaro Hara  <haraken@chromium.org>
2089
2090         [V8] Generate a wrapper method for constructor callbacks
2091         https://bugs.webkit.org/show_bug.cgi?id=110765
2092
2093         Reviewed by Adam Barth.
2094
2095         This is one of steps to insert TRACE_EVENT_STATE() macros
2096         into DOM bindings. This patch introduces an indirection
2097         function for constructor(), like this:
2098
2099         // For non-custom constructors
2100         void constructorCallback(...) {
2101           return constructor(...);
2102         }
2103
2104         // For custom constructors
2105         void constructorCallback(...) {
2106           return constructorCustom(...);
2107         }
2108
2109         No tests. No change in behavior.
2110
2111         * bindings/scripts/CodeGeneratorV8.pm:
2112         (GenerateHeader):
2113         (GenerateOverloadedConstructorCallback):
2114         (GenerateSingleConstructorCallback):
2115         (GenerateConstructorCallback):
2116         (GenerateConstructor):
2117         (GenerateEventConstructor):
2118         (GenerateTypedArrayConstructor):
2119         (GenerateNamedConstructor):
2120         (GenerateConstructorHeader):
2121         (GenerateImplementation):
2122         * bindings/scripts/test/V8/V8Float64Array.cpp:
2123         (WebCore::Float64ArrayV8Internal::constructor):
2124         (Float64ArrayV8Internal):
2125         (WebCore::V8Float64Array::constructorCallback):
2126         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2127         (WebCore::TestEventConstructorV8Internal::constructor):
2128         (WebCore):
2129         (WebCore::V8TestEventConstructor::constructorCallback):
2130         * bindings/scripts/test/V8/V8TestInterface.cpp:
2131         (WebCore::TestInterfaceV8Internal::constructor):
2132         (TestInterfaceV8Internal):
2133         (WebCore::V8TestInterface::constructorCallback):
2134         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2135         (WebCore::V8TestNamedConstructorConstructorCallback):
2136         * bindings/scripts/test/V8/V8TestNode.cpp:
2137         (WebCore::TestNodeV8Internal::constructor):
2138         (TestNodeV8Internal):
2139         (WebCore::V8TestNode::constructorCallback):
2140         * bindings/scripts/test/V8/V8TestObj.cpp:
2141         (WebCore::TestObjV8Internal::constructor):
2142         (TestObjV8Internal):
2143         (WebCore::V8TestObj::constructorCallback):
2144         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2145         (WebCore::TestOverloadedConstructorsV8Internal::constructor1):
2146         (WebCore::TestOverloadedConstructorsV8Internal::constructor2):
2147         (WebCore::TestOverloadedConstructorsV8Internal::constructor3):
2148         (WebCore::TestOverloadedConstructorsV8Internal::constructor4):
2149         (WebCore::TestOverloadedConstructorsV8Internal::constructor):
2150         (WebCore):
2151         (WebCore::V8TestOverloadedConstructors::constructorCallback):
2152         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2153         (WebCore::TestSerializedScriptValueInterfaceV8Internal::constructor):
2154         (TestSerializedScriptValueInterfaceV8Internal):
2155         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
2156         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
2157         (WebCore::TestTypedefsV8Internal::constructor):
2158         (TestTypedefsV8Internal):
2159         (WebCore::V8TestTypedefs::constructorCallback):
2160
2161 2013-02-24  Kentaro Hara  <haraken@chromium.org>
2162
2163         [V8] Generate xxxAttrSetterCallback()
2164         https://bugs.webkit.org/show_bug.cgi?id=110726
2165
2166         Reviewed by Adam Barth.
2167
2168         This is one of steps to insert TRACE_EVENT_STATE() macros into DOM bindings.
2169         This patch introduces an indirection function for xxxAttrSetter(), like this:
2170
2171         // For non-custom setters
2172         void xxxAttrSetterCallback(...) {
2173           xxxAttrSetter(...);
2174         }
2175
2176         // For custom setters.
2177         void xxxAttrSetterCallback(...) {
2178           return xxxAttrSetterCustom(...);
2179         }
2180
2181         No tests. No change in behavior.
2182
2183         * bindings/scripts/CodeGeneratorV8.pm:
2184         (GenerateNormalAttrSetterCallback):
2185         (GenerateNormalAttrSetter):
2186         (GenerateSingleBatchedAttribute):
2187         (GenerateImplementation):
2188         * bindings/scripts/test/V8/V8TestInterface.cpp:
2189         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetterCallback):
2190         (TestInterfaceV8Internal):
2191         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetterCallback):
2192         (WebCore::TestInterfaceV8Internal::supplementalStr3AttrSetterCallback):
2193         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetterCallback):
2194         (WebCore):
2195         * bindings/scripts/test/V8/V8TestObj.cpp:
2196         (WebCore::TestObjV8Internal::staticStringAttrAttrSetterCallback):
2197         (TestObjV8Internal):
2198         (WebCore::TestObjV8Internal::enumAttrAttrSetterCallback):
2199         (WebCore::TestObjV8Internal::shortAttrAttrSetterCallback):
2200         (WebCore::TestObjV8Internal::unsignedShortAttrAttrSetterCallback):
2201         (WebCore::TestObjV8Internal::longAttrAttrSetterCallback):
2202         (WebCore::TestObjV8Internal::longLongAttrAttrSetterCallback):
2203         (WebCore::TestObjV8Internal::unsignedLongLongAttrAttrSetterCallback):
2204         (WebCore::TestObjV8Internal::stringAttrAttrSetterCallback):
2205         (WebCore::TestObjV8Internal::testObjAttrAttrSetter):
2206         (WebCore::TestObjV8Internal::testObjAttrAttrSetterCallback):
2207         (WebCore::TestObjV8Internal::XMLObjAttrAttrSetterCallback):
2208         (WebCore::TestObjV8Internal::createAttrSetterCallback):
2209         (WebCore::TestObjV8Internal::reflectedStringAttrAttrSetterCallback):
2210         (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrSetterCallback):
2211         (WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrSetterCallback):
2212         (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrSetterCallback):
2213         (WebCore::TestObjV8Internal::reflectedURLAttrAttrSetterCallback):
2214         (WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrSetterCallback):
2215         (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrSetterCallback):
2216         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetterCallback):
2217         (WebCore::TestObjV8Internal::typedArrayAttrAttrSetterCallback):
2218         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrSetterCallback):
2219         (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrSetterCallback):
2220         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetterCallback):
2221         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetterCallback):
2222         (WebCore::TestObjV8Internal::customAttrAttrSetterCallback):
2223         (WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetterCallback):
2224         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetterCallback):
2225         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetterCallback):
2226         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetterCallback):
2227         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetterCallback):
2228         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetterCallback):
2229         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetterCallback):
2230         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetterCallback):
2231         (WebCore::TestObjV8Internal::conditionalAttr1AttrSetterCallback):
2232         (WebCore::TestObjV8Internal::conditionalAttr2AttrSetterCallback):
2233         (WebCore::TestObjV8Internal::conditionalAttr3AttrSetterCallback):
2234         (WebCore::TestObjV8Internal::anyAttributeAttrSetterCallback):
2235         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrSetterCallback):
2236         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrSetterCallback):
2237         (WebCore::TestObjV8Internal::enabledPerContextAttr1AttrSetterCallback):
2238         (WebCore::TestObjV8Internal::enabledPerContextAttr2AttrSetterCallback):
2239         (WebCore::TestObjV8Internal::floatArrayAttrSetterCallback):
2240         (WebCore::TestObjV8Internal::doubleArrayAttrSetterCallback):
2241         (WebCore::TestObjV8Internal::mutablePointAttrSetterCallback):
2242         (WebCore::TestObjV8Internal::immutablePointAttrSetterCallback):
2243         (WebCore::TestObjV8Internal::strawberryAttrSetterCallback):
2244         (WebCore::TestObjV8Internal::strictFloatAttrSetterCallback):
2245         (WebCore::TestObjV8Internal::idAttrSetterCallback):
2246         (WebCore):
2247         (WebCore::ConfigureV8TestObjTemplate):
2248         (WebCore::V8TestObj::installPerContextProperties):
2249         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2250         (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrSetterCallback):
2251         (TestSerializedScriptValueInterfaceV8Internal):
2252         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetterCallback):
2253         (WebCore):
2254         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
2255         (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrSetterCallback):
2256         (TestTypedefsV8Internal):
2257         (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrSetterCallback):
2258         (WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrSetterCallback):
2259         (WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrSetterCallback):
2260         (WebCore::TestTypedefsV8Internal::stringAttrWithGetterExceptionAttrSetterCallback):
2261         (WebCore::TestTypedefsV8Internal::stringAttrWithSetterExceptionAttrSetterCallback):
2262         (WebCore):
2263
2264 2013-02-25  Adam Barth  <abarth@webkit.org>
2265
2266         Build fix for Debug.
2267
2268         * html/parser/HTMLDocumentParser.cpp:
2269         (WebCore::HTMLDocumentParser::startBackgroundParser):
2270
2271 2013-02-25  Adam Barth  <abarth@webkit.org>
2272
2273         6% regression in intl1 page cycler on chromium-mac
2274         https://bugs.webkit.org/show_bug.cgi?id=110784
2275
2276         Reviewed by Eric Seidel.
2277
2278         This patch attempts to heal the regression by reverting all the changes
2279         to the preload scanner up to (and including)
2280         http://trac.webkit.org/changeset/143020/.
2281
2282         * html/parser/BackgroundHTMLParser.cpp:
2283         (WebCore::BackgroundHTMLParser::resumeFrom):
2284         (WebCore::BackgroundHTMLParser::pumpTokenizer):
2285         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
2286         * html/parser/CSSPreloadScanner.cpp:
2287         (WebCore::CSSPreloadScanner::scan):
2288         (WebCore::CSSPreloadScanner::emitRule):
2289         * html/parser/CSSPreloadScanner.h:
2290         (CSSPreloadScanner):
2291         * html/parser/HTMLPreloadScanner.cpp:
2292         (WebCore::isStartTag):
2293         (WebCore):
2294         (WebCore::isStartOrEndTag):
2295         (WebCore::TokenPreloadScanner::identifierFor):
2296         (WebCore::TokenPreloadScanner::inititatorFor):
2297         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
2298         (WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
2299         (WebCore::TokenPreloadScanner::processPossibleTemplateTag):
2300         (WebCore::TokenPreloadScanner::processPossibleStyleTag):
2301         (WebCore::TokenPreloadScanner::processPossibleBaseTag):
2302         (WebCore::TokenPreloadScanner::scan):
2303         (WebCore::HTMLPreloadScanner::scan):
2304         * html/parser/HTMLPreloadScanner.h:
2305         (TokenPreloadScanner):
2306
2307 2013-02-25  Mark Lam  <mark.lam@apple.com>
2308
2309         Changed DatabaseTracker::getMaxSizeForDatabase() to return the previous
2310         database size instead of 0 when the quota limit has been reached.
2311         https://bugs.webkit.org/show_bug.cgi?id=110557.
2312
2313         Reviewed by Geoffrey Garen.
2314
2315         Testing of concurrent multi-process consumption of database quota shows that
2316         returning a value of 0 when the quota is exceeded still allows some databases
2317         to run away with unbounded growth. However, if getMaxSizeForDatabase() returns
2318         the existing database size, the underlying sqlite3 database will successfully
2319         reject new growth.
2320
2321         The value returned by DatabaseTracker::getMaxSizeForDatabase() is used to set
2322         the SQLite3 database size using a sql command "PRAGMA max_page_count = <size>".
2323         The SQLite3 documentation on this pragma says, "The maximum page count cannot
2324         be reduced below the current database size."
2325
2326         It is undefined what setting it to a reduced size will do. So, we're changing
2327         getMaxSizeForDatabase() to return the existing size instead.
2328
2329         No new tests.
2330
2331         * Modules/webdatabase/DatabaseTracker.cpp:
2332         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
2333
2334 2013-02-25  Tony Chang  <tony@chromium.org>
2335
2336         Refactor logic for relaying out children out of RenderBlock::styleDidChange
2337         https://bugs.webkit.org/show_bug.cgi?id=110661
2338
2339         Reviewed by David Hyatt.
2340
2341         Instead of having styleDidChange need to know which children to mark as needing layout,
2342         use a bool to keep track of border and padding width changes so at layout time, we know
2343         we need to set relayoutChildren=true.
2344
2345         We steal a bit from m_lineHeight reducing the possible line height from around 500 million pixels
2346         to 250 million pixels.
2347
2348         No new tests, this should be covered by fast/block/positioning/border-change-relayout-test.html and
2349         fast/block/dynamic-padding-border.html.
2350
2351         * rendering/RenderBlock.cpp:
2352         (WebCore::RenderBlock::RenderBlock): Fix indent and initialize m_hasBorderOrPaddingLogicalWidthChanged.
2353         (WebCore::RenderBlock::styleDidChange): Remove logic for setting children as needing layout.
2354         (WebCore::RenderBlock::updateLogicalWidthAndColumnWidth): Return true if border or padding width changed.
2355         * rendering/RenderBlock.h:
2356         (RenderBlock): Steal a bit from m_lineHeight and give it to m_hasBorderOrPaddingLogicalWidthChanged.
2357
2358 2013-02-25  Alexis Menard  <alexis@webkit.org>
2359
2360         transition-property property doesn't accept "all, <IDENT>".
2361         https://bugs.webkit.org/show_bug.cgi?id=110074
2362
2363         Reviewed by Dean Jackson.
2364
2365         http://dev.w3.org/csswg/css3-transitions/#transition-property-property
2366         allows all, <IDENT> as a value for the transition-property property. In
2367         fact thanks to http://trac.webkit.org/changeset/143019 we correctly
2368         implemented that behavior for transition shorthand property while
2369         fixing bugs on the previous implementation. We did introduce a
2370         AnimationParseContext to track whether the parsing of the
2371         transition-property was finished or not in relation to the keyword.
2372         This patch extend that mechanism to the longhand by renaming the
2373         boolean and the functions to use it in the context class and set it
2374         correctly while parsing the longhand property.
2375
2376         Test: LayoutTests/transitions/transitions-parsing.html
2377
2378         * css/CSSParser.cpp:
2379         (WebCore::AnimationParseContext::AnimationParseContext):
2380         (WebCore::AnimationParseContext::commitAnimationPropertyKeyword):
2381         (WebCore::AnimationParseContext::animationPropertyKeywordAllowed):
2382         (AnimationParseContext):
2383         (WebCore::CSSParser::parseAnimationShorthand):
2384         (WebCore::CSSParser::parseTransitionShorthand):
2385         (WebCore::CSSParser::parseAnimationProperty): We can remove the
2386         condition inShorthand() here, if 'none' is parsed then no more keyword
2387         can appear, if 'all' is parsed then we can continue the parsing but
2388         invalidate the property if another keyword is encountered. These
2389         conditions are valid for the shorthand and the longhand.
2390
2391 2013-02-25  No'am Rosenthal  <noam@webkit.org>
2392
2393         [Texmap] LayoutTests/compositing/animation/state-at-end-event-transform-layer.html shows a red square where it shouldn't
2394         https://bugs.webkit.org/show_bug.cgi?id=110685
2395
2396         Reviewed by Martin Robinson.
2397
2398         Removed m_shouldUpdateCurrentTransformFromGraphicsLayer etc., as they don't do
2399         what they're supposed to do. No flickers observed.
2400
2401         LayoutTests/compositing/animation/state-at-end-event-transform-layer.html now works correctly.
2402
2403         * platform/graphics/texmap/TextureMapperLayer.cpp:
2404         (WebCore::TextureMapperLayer::setAnimatedTransform):
2405         (WebCore::TextureMapperLayer::setAnimatedOpacity):
2406         (WebCore::TextureMapperLayer::setAnimatedFilters):
2407         (WebCore::TextureMapperLayer::syncAnimations):
2408         * platform/graphics/texmap/TextureMapperLayer.h:
2409         (WebCore::TextureMapperLayer::TextureMapperLayer):
2410         (TextureMapperLayer):
2411
2412 2013-02-25  Jer Noble  <jer.noble@apple.com>
2413
2414         AVFoundation.framework and QTKit.framework are lazy-loaded on every WebProcess launch
2415         https://bugs.webkit.org/show_bug.cgi?id=110725
2416
2417         Reviewed by Eric Carlson.
2418
2419         When settings are changed, do not re-query the media engines (which causes their respective
2420         frameworks to load). Instead, merely clear any previously loaded media engines so that
2421         the media engine list will be re-queried the next time installedMediaEngines() is called.
2422
2423         (WebCore::MediaPlayer::resetMediaEngines): Renamed from requeryMediaEngines.
2424         * platform/graphics/MediaPlayer.h:
2425         * html/HTMLMediaElement.cpp:
2426         (WebCore::HTMLMediaElement::resetMediaEngines): Ditto.
2427         * html/HTMLMediaElement.h:
2428         * page/Settings.cpp:
2429         (WebCore::Settings::setAVFoundationEnabled): Call renamed method.
2430         (WebCore::Settings::setQTKitEnabled):  Ditto.
2431         * platform/graphics/MediaPlayer.cpp:
2432         (WebCore::installedMediaEngines): Only clear out previously queried engines.
2433
2434 2013-02-25  Martin Robinson  <mrobinson@igalia.com>
2435
2436         Try to fix the Windows gyp build after r143937
2437
2438         * WebCore.gypi: Update the filename in the source list.
2439
2440 2013-02-25  Julien Chaffraix  <jchaffraix@webkit.org>
2441
2442         [CSS Grid Layout] Refactor RenderStyle's grid position storage in preparation to supporting spanning
2443         https://bugs.webkit.org/show_bug.cgi?id=110651
2444
2445         Reviewed by Ojan Vafai.
2446
2447         The current code stores grid-{row|column} as a single GridPosition value. While this works well currently,
2448         we want to be able to handle 2 GridPosition as this enables row / column spanning.
2449
2450         That's what this refactoring achieves: it replaces the internal storage by a GridPositions that contains a 
2451         single GridPosition for now. The rest is mechanical updates.
2452
2453         Refactoring covered by existing tests.
2454
2455         * css/CSSComputedStyleDeclaration.cpp:
2456         (WebCore::valueForGridPositions):
2457         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2458         Added the simple wrapper valueForGridPositions and updated the rest of the code.
2459
2460         * css/StyleResolver.cpp:
2461         (WebCore::createGridPositions):
2462         (WebCore::StyleResolver::applyProperty):
2463         Ditto with createGridPositions.
2464
2465         * rendering/RenderGrid.cpp:
2466         (WebCore::RenderGrid::maximumIndexInDirection):
2467         (WebCore::RenderGrid::placeItemsOnGrid):
2468         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
2469         (WebCore::RenderGrid::placeAutoMajorAxisItemsOnGrid):
2470         (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
2471         (WebCore::RenderGrid::autoPlacementMajorAxisPositionsForChild):
2472         (WebCore::RenderGrid::autoPlacementMinorAxisPositionsForChild):
2473         Updated the code after adding the indirection: s/GridPosition/GridPositions/ and
2474         use the firstPosition helper.
2475
2476         * rendering/RenderGrid.h:
2477         * rendering/style/GridPosition.h:
2478         (WebCore::GridPositions::GridPositions):
2479         (WebCore::GridPositions::firstPosition):
2480         (WebCore::GridPositions::operator==):
2481         Added this class to add the indirection. For now, it only wraps the single GridPosition.
2482
2483         * rendering/style/RenderStyle.h:
2484         * rendering/style/StyleGridItemData.h:
2485         Updated to store / take / return a GridPositions.
2486
2487 2013-02-25  Dimitri Glazkov  <dglazkov@chromium.org>
2488
2489         Revert r143840 because it caused flaky crashes.
2490         https://bugs.webkit.org/show_bug.cgi?id=110766
2491
2492 2013-02-25  Alexey Proskuryakov  <ap@apple.com>
2493
2494         Remove an obsolete workaround for relaxing 3rd party cookie policy
2495         https://bugs.webkit.org/show_bug.cgi?id=110664
2496
2497         Reviewed by Benjamin Poulain.
2498
2499         Removed shouldRelaxThirdPartyCookiePolicy(). This workaround is no longer needed,
2500         because CFNetwork performs the same check starting with 10.6.8.
2501
2502         Also, the workaround was not quite correct and harmful for performance, as it
2503         was always changing main document URL to an untrue value, which caused ResourceRequest
2504         regeneration.
2505
2506         * platform/network/ResourceHandle.h:
2507         * platform/network/cf/ResourceHandleCFNet.cpp:
2508         (WebCore::ResourceHandle::createCFURLConnection):
2509         (WebCore::ResourceHandle::start):
2510         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
2511         * platform/network/mac/ResourceHandleMac.mm:
2512         (WebCore::ResourceHandle::createNSURLConnection):
2513         (WebCore::ResourceHandle::start):
2514         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
2515
2516 2013-02-25  Vsevolod Vlasov  <vsevik@chromium.org>
2517
2518         WebInspector: Do not keep track of resources unless they have a valid loader identifier.
2519         https://bugs.webkit.org/show_bug.cgi?id=110761
2520
2521         Reviewed by Pavel Feldman.
2522
2523         * inspector/NetworkResourcesData.cpp:
2524         (WebCore::NetworkResourcesData::responseReceived):
2525         (WebCore::NetworkResourcesData::setResourceType):
2526         (WebCore::NetworkResourcesData::resourceType):
2527         (WebCore::NetworkResourcesData::setResourceContent):
2528         (WebCore::NetworkResourcesData::maybeAddResourceData):
2529         (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
2530         (WebCore::NetworkResourcesData::addCachedResource):
2531         (WebCore::NetworkResourcesData::addResourceSharedBuffer):
2532         (WebCore::NetworkResourcesData::data):
2533         (WebCore::NetworkResourcesData::xhrReplayData):
2534         (WebCore::NetworkResourcesData::setXHRReplayData):
2535         (WebCore::NetworkResourcesData::reuseXHRReplayData):
2536         (WebCore::NetworkResourcesData::resourceDataForRequestId):
2537         (WebCore::NetworkResourcesData::ensureNoDataForRequestId):
2538         (WebCore::NetworkResourcesData::ensureFreeSpace):
2539         * inspector/NetworkResourcesData.h:
2540         (NetworkResourcesData):
2541
2542 2013-02-25  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
2543
2544         [EFL][GTK] Move text selection/focus notification for a11y from gtk to atk directory
2545         https://bugs.webkit.org/show_bug.cgi?id=110221
2546
2547         Reviewed by Martin Robinson.
2548
2549         Share implementation between efl and gtk.
2550         Update build with changes made.
2551
2552         * GNUmakefile.list.am: Change WebCore/editing/gtk/FrameSelectionGtk.cpp to WebCore/editing/atk/FrameSelectionAtk.cpp to build.
2553         * PlatformEfl.cmake: Add WebCore/editing/atk to include directories, add Webcore/editing/atk/FrameSelectionAtk.cpp to build.
2554         * editing/FrameSelection.h: Omit notifyAccessibilityForSelectionChange() stub for EFL port.
2555         (WebCore):
2556         * editing/atk/FrameSelectionAtk.cpp: Renamed from Source/WebCore/editing/gtk/FrameSelectionGtk.cpp.
2557         (WebCore):
2558         (WebCore::emitTextSelectionChange):
2559         (WebCore::maybeEmitTextFocusChange):
2560         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
2561
2562 2013-02-25  Alpha Lam  <hclam@chromium.org>
2563
2564         GIFImageReader to read from source data directly
2565         https://bugs.webkit.org/show_bug.cgi?id=109662
2566
2567         Reviewed by Stephen White.
2568
2569         This is the first patch to improve GIF image decoding.
2570
2571         GIFImageReader has an internal 256 bytes buffer to saving incoming
2572         bytes. This mechanism is out-dated because WebKit holds the entire
2573         file in memory and it is not necessary to hold data in an intermediate
2574         buffer.
2575
2576         This is also a blocker for later work to parse and decode GIF
2577         incrementally.
2578
2579         This change removed the imtermediate 'hold' buffer and uses an index
2580         for data position to keep track of parsing of the GIF file. Buffer for
2581         global colormap and local colormap are also removed because they can be
2582         referenced from the data stream.
2583
2584         This change is tested by:
2585
2586         Layout tests
2587         All tests passed under fast/images.
2588
2589         Unit tests
2590         Added GIFImageDecoderTest for Chromium.
2591
2592         Local testing
2593         I tested this implementation against a set of 50k GIF images and
2594         there's no crashes and produces bit-exact results as previous code.
2595
2596         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2597         (WebCore::GIFImageDecoder::setData):
2598         (WebCore::GIFImageDecoder::frameCount):
2599         (WebCore::GIFImageDecoder::haveDecodedRow):
2600         (WebCore::GIFImageDecoder::decode):
2601         * platform/image-decoders/gif/GIFImageReader.cpp:
2602         (GIFImageReader::doLZW):
2603         (GIFImageReader::decode):
2604         (GIFImageReader::decodeInternal):
2605         (GIFImageReader::setRemainingBytes):
2606         * platform/image-decoders/gif/GIFImageReader.h:
2607         (GIFFrameContext):
2608         (GIFFrameContext::GIFFrameContext):
2609         (GIFFrameContext::~GIFFrameContext):
2610         (GIFImageReader::GIFImageReader):
2611         (GIFImageReader::~GIFImageReader):
2612         (GIFImageReader::setData):
2613         (GIFImageReader):
2614         (GIFImageReader::globalColormap):
2615         (GIFImageReader::localColormap):
2616         (GIFImageReader::localColormapSize):
2617         (GIFImageReader::data):
2618         (GIFImageReader::colormap):
2619
2620 2013-02-25  Sergio Villar Senin  <svillar@igalia.com>
2621
2622         [soup] "Too many redirects" error loading chat in plus.google.com
2623         https://bugs.webkit.org/show_bug.cgi?id=64575
2624
2625         Reviewed by Martin Robinson.
2626
2627         Set the firstPartyForCookies for the new request on redirects to
2628         the URL used for redirection.
2629
2630         Test: http/tests/cookies/set-cookie-on-redirect.html
2631
2632         * platform/network/soup/ResourceHandleSoup.cpp:
2633         (WebCore::doRedirect):
2634
2635 2013-02-25  Andreas Kling  <akling@apple.com>
2636
2637         Reduce amount of code that includes StylePropertySet.h
2638         <http://webkit.org/b/101149>
2639
2640         Reviewed by Antti Koivisto.
2641
2642         StylePropertySet.h and dependents were getting included by the majority of WebKit
2643         through either StyledElement.h or CSSStyleDeclaration.h. This change removes those includes
2644         and moves inclusion to .cpp files instead. After this change, it's possible to hack most
2645         of WebCore/css/ and rebuild <100 files instead of >1000.
2646
2647         The only real code change in here is changing CSSStyleDeclaration::cssPropertyMatches()
2648         to take a CSSPropertyID/CSSValue* combo instead of a StylePropertySet::Reference.
2649
2650         * css/CSSComputedStyleDeclaration.cpp:
2651         (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
2652         * css/CSSComputedStyleDeclaration.h:
2653         (CSSComputedStyleDeclaration):
2654         * css/CSSStyleDeclaration.h:
2655         (CSSStyleDeclaration):
2656         * css/PropertySetCSSStyleDeclaration.cpp:
2657         (WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
2658         * css/PropertySetCSSStyleDeclaration.h:
2659         * css/SelectorChecker.h:
2660         * css/SelectorCheckerFastPath.cpp:
2661         * css/SelectorFilter.cpp:
2662         * css/SelectorFilter.h:
2663         * css/StylePropertySet.cpp:
2664         (WebCore::StylePropertySet::propertyMatches):
2665         (WebCore::StylePropertySet::removeEquivalentProperties):
2666         * css/StylePropertySet.h:
2667         * css/StyleResolver.cpp:
2668         (WebCore::StyleResolver::MatchedProperties::MatchedProperties):
2669         (WebCore::StyleResolver::MatchedProperties::~MatchedProperties):
2670         * css/StyleResolver.h:
2671         (MatchedProperties):
2672         * css/StyleRule.cpp:
2673         * css/ViewportStyleResolver.cpp:
2674         (WebCore::ViewportStyleResolver::~ViewportStyleResolver):
2675         * css/ViewportStyleResolver.h:
2676         (ViewportStyleResolver):
2677         * css/WebKitCSSKeyframeRule.cpp:
2678         (WebCore::StyleKeyframe::StyleKeyframe):
2679         (WebCore::StyleKeyframe::~StyleKeyframe):
2680         * css/WebKitCSSKeyframeRule.h:
2681         (StyleKeyframe):
2682         * dom/Attr.cpp:
2683         * dom/Document.cpp:
2684         * dom/Element.cpp:
2685         * dom/StyledElement.cpp:
2686         (WebCore::StyledElement::addPropertyToPresentationAttributeStyle):
2687         * dom/StyledElement.h:
2688         (StyledElement):
2689         * editing/FrameSelection.cpp:
2690         * editing/RemoveCSSPropertyCommand.cpp:
2691         (WebCore::RemoveCSSPropertyCommand::~RemoveCSSPropertyCommand):
2692         * editing/RemoveCSSPropertyCommand.h:
2693         (RemoveCSSPropertyCommand):
2694         * editing/RemoveFormatCommand.cpp:
2695         * html/HTMLBodyElement.cpp:
2696         * html/HTMLElement.cpp:
2697         (WebCore::HTMLElement::addHTMLLengthToStyle):
2698         (WebCore::HTMLElement::addHTMLColorToStyle):
2699         * html/HTMLElement.h:
2700         (HTMLElement):
2701         * html/HTMLFontElement.cpp:
2702         * html/HTMLHRElement.cpp:
2703         * html/HTMLPreElement.cpp:
2704         * html/HTMLTableElement.cpp:
2705         * html/HTMLTablePartElement.cpp:
2706         * html/canvas/CanvasStyle.cpp:
2707         * html/shadow/MediaControlElementTypes.cpp:
2708         * inspector/InspectorStyleSheet.cpp:
2709         * page/PageSerializer.cpp:
2710         * rendering/RenderTableCell.cpp:
2711         * svg/SVGAnimateElement.cpp:
2712         * svg/SVGElementRareData.h:
2713         * svg/SVGFontFaceElement.cpp:
2714
2715 2013-02-25  Alexei Filippov  <alph@chromium.org>
2716
2717         Web Inspector: Remove CPU profile from a group causes exception
2718         https://bugs.webkit.org/show_bug.cgi?id=110466
2719
2720         Reviewed by Yury Semikhatsky.
2721
2722         WebInspector.ProfilesPanel._removeProfileHandle did not handle
2723         profile removal from a group. The fix takes care of this case.
2724
2725         Test: inspector/profiler/cpu-profiler-profile-removal.html
2726
2727         * inspector/front-end/ProfilesPanel.js:
2728         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
2729         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
2730
2731 2013-02-23  Ilya Tikhonovsky  <loislo@chromium.org>
2732
2733         Web Inspector: Native Memory Instrumentation: replace String with const char* in MemoryObjectInfo
2734         https://bugs.webkit.org/show_bug.cgi?id=110599
2735
2736         Reviewed by Yury Semikhatsky.
2737
2738         Due to potentially dynamic nature of names and classNames we need to make a copy of the strings
2739         that were given us via MemoryInstrumentation calls.
2740         So I extended client api with registerString method that pushes the strings
2741         down to the serializer.
2742
2743         * css/InspectorCSSOMWrappers.h:
2744         * inspector/HeapGraphSerializer.cpp:
2745         (WebCore::HeapGraphSerializer::HeapGraphSerializer):
2746         (WebCore::HeapGraphSerializer::reportNodeImpl):
2747         (WebCore::HeapGraphSerializer::reportEdgeImpl):
2748         (WebCore::HeapGraphSerializer::registerString):
2749         (WebCore::HeapGraphSerializer::registerTypeString):
2750         (WebCore::HeapGraphSerializer::addRootNode):
2751         * inspector/HeapGraphSerializer.h:
2752         (HeapGraphSerializer):
2753         * inspector/MemoryInstrumentationImpl.cpp:
2754         (WebCore::MemoryInstrumentationClientImpl::registerString):
2755         (WebCore):
2756         * inspector/MemoryInstrumentationImpl.h:
2757         (MemoryInstrumentationClientImpl):
2758         * loader/cache/CachedResource.cpp:
2759         (WebCore::CachedResource::reportMemoryUsage):
2760
2761 2013-02-25  Keishi Hattori  <keishi@webkit.org>
2762
2763         Add a scrollbar class for the new calendar picker
2764         https://bugs.webkit.org/show_bug.cgi?id=110589
2765
2766         Reviewed by Kent Tamura.
2767
2768         Adding a scrollbar to be used in the new calendar picker (Bug 109439).
2769
2770         No new tests. Code is not used yet.
2771
2772         * Resources/pagepopups/calendarPicker.js:
2773         (ScrubbyScrollBar):
2774         (ScrubbyScrollBar.prototype.height):
2775         (ScrubbyScrollBar.prototype.setHeight):
2776         (ScrubbyScrollBar.prototype.setThumbHeight): Sets the height of the scroll bar thumb.
2777         (ScrubbyScrollBar.prototype._setThumbPositionFromEvent): Sets the thumb position from a mouse event.
2778         (ScrubbyScrollBar.prototype.onMouseDown):
2779         (ScrubbyScrollBar.prototype.onWindowMouseMove):
2780         (ScrubbyScrollBar.prototype.onWindowMouseUp):
2781         (ScrubbyScrollBar.prototype.onThumbStyleTopAnimationStep): Animates the thumb back to the center position.
2782         (ScrubbyScrollBar.prototype.onScrollTimer): Fires repeatedly while the thumb is being dragged.
2783
2784 2013-02-25  Ilya Tikhonovsky  <loislo@chromium.org>
2785
2786         Unreviewed. Fix of closure type annotations.
2787
2788         * inspector/front-end/UISourceCode.js:
2789         * inspector/front-end/utilities.js:
2790
2791 2013-02-25  Eugene Klyuchnikov  <eustas@chromium.org>
2792
2793         Web Inspector: [Network] Timeline bars and dividers are positioned in different coordinate systems.
2794         https://bugs.webkit.org/show_bug.cgi?id=109943
2795
2796         Reviewed by Pavel Feldman.
2797
2798         Look at network log: red bar (on load) is positioned to the right of
2799         the last required load.
2800         
2801         This is incorrect. For exmaple, in case of short event it should be
2802         positioned in the center of the bar.
2803
2804         * inspector/front-end/DataGrid.js:
2805         Fix - hidden columns can have non-zero width.
2806         * inspector/front-end/NetworkPanel.js: Use correct width for calculator.
2807         * inspector/front-end/networkLogView.css: Removed parasite paddinds.
2808         Extracted common absolute "paddings".
2809
2810 2013-02-25  Keishi Hattori  <keishi@webkit.org>
2811
2812         Add list view for new calendar picker
2813         https://bugs.webkit.org/show_bug.cgi?id=110140
2814
2815         Reviewed by Kent Tamura.
2816
2817         Adding list view class to be used in the new calendar picker (Bug 109439).
2818
2819         No new tests. Code is not yet used.
2820
2821         * Resources/pagepopups/calendarPicker.js:
2822         (ListCell): One row inside the list view. We reuse
2823         list cells to avoid animation hiccups caused by memory allocation.
2824         (ListCell.prototype._recycleBin): Returns array to
2825         store thrown away list cells so we can reuse them.
2826         (ListCell.prototype.throwAway): Hides the cell and puts it in the recycle bin.
2827         (ListCell.prototype.show):
2828         (ListCell.prototype.hide): Hide the cell when we don't need the cell any more.
2829         (ListCell.prototype.width):
2830         (ListCell.prototype.setWidth):
2831         (ListCell.prototype.position):
2832         (ListCell.prototype.setPosition): Sets the CSS transform to position the cell.
2833         (ListCell.prototype.setSelected): Adds selected CSS class.
2834         (ListView): Shows a scrolling list.
2835         (ListView.prototype.onAnimationFrameWillFinish): Calls updateCells if the cells need to be updated.
2836         (ListView.prototype.setNeedsUpdateCells): Mark the cells as need to be updated.
2837         (ListView.prototype.cellAtRow): Returns the cell at a given row. If the cell is not visible and doesn't exist, returns undefined.
2838         (ListView.prototype.rowAtScrollOffset): The row that is displayed at the given scroll offset.
2839         (ListView.prototype.scrollOffsetForRow): The scroll offset for the top of a given row.
2840         (ListView.prototype.addCellIfNecessary): Adds the cell for a given row.
2841         (ListView.prototype.prepareNewCell): Prepares a new or recycled cell for a given row.
2842         (ListView.prototype.throwAwayCell): Throws a way a cell.
2843         (ListView.prototype.firstVisibleRow): The first visible row at the top of the view.
2844         (ListView.prototype.lastVisibleRow): The last visible row at the bottom of the view.
2845         (ListView.prototype.scrollViewDidChangeContentOffset):
2846         (ListView.prototype.scrollViewDidChangeHeight):
2847         (ListView.prototype.scrollViewDidChangePartition):
2848         (ListView.prototype.updateCells): Updates all the cells that are visible.
2849         (ListView.prototype.width):
2850         (ListView.prototype.setWidth):
2851         (ListView.prototype.height):
2852         (ListView.prototype.setHeight):
2853         (ListView.prototype.onClick): Clicking on a row selects it.
2854         (ListView.prototype.select):
2855         (ListView.prototype.deselect):
2856         (ListView.prototype.scrollToRow): Scrolls to a given row.
2857
2858 2013-02-25  Alexei Filippov  <alph@chromium.org>
2859
2860         Web Inspector: move profile type specific code out of ProfilesPanel (refactor)
2861         https://bugs.webkit.org/show_bug.cgi?id=110597
2862
2863         Reviewed by Yury Semikhatsky.
2864
2865         Move profile type specific functionality out of ProfilesPanel class.
2866         This is a first part of WebInspector.ProfilesPanel refactoring.
2867
2868         No new tests as the functionality isn't changed.
2869
2870         * English.lproj/localizedStrings.js:
2871         * inspector/front-end/CPUProfileView.js:
2872         (WebInspector.CPUProfileType):
2873         (WebInspector.CPUProfileType.prototype.addProfileHeader):
2874         (WebInspector.CPUProfileType.prototype.removeProfile):
2875         (WebInspector.CPUProfileType.prototype._requestProfilesFromBackend):
2876         (WebInspector.CPUProfileType.prototype.resetProfiles):
2877         (WebInspector.CPUProfileType.prototype.addHeapSnapshotChunk):
2878         (WebInspector.CPUProfileType.prototype.finishHeapSnapshot):
2879         (WebInspector.CPUProfileType.prototype.reportHeapSnapshotProgress):
2880         * inspector/front-end/CSSSelectorProfileView.js:
2881         (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
2882         (WebInspector.CSSSelectorProfileType.prototype._startRecordingProfile):
2883         (WebInspector.CSSSelectorProfileType.prototype._stopRecordingProfile):
2884         * inspector/front-end/CanvasProfileView.js:
2885         (WebInspector.CanvasProfileType.prototype.buttonClicked):
2886         (WebInspector.CanvasProfileType.prototype._runSingleFrameCapturing):
2887         (WebInspector.CanvasProfileType.prototype._startFrameCapturing):
2888         (WebInspector.CanvasProfileType.prototype._didStartCapturingFrame):
2889         (WebInspector.CanvasProfileType.prototype._reset):
2890         (WebInspector.CanvasProfileType.prototype.removeProfile):
2891         (WebInspector.CanvasProfileHeader.prototype.dispose):
2892         * inspector/front-end/HeapSnapshotView.js:
2893         (WebInspector.HeapSnapshotView.prototype._profiles):
2894         (WebInspector.HeapSnapshotProfileType):
2895         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
2896         (WebInspector.HeapSnapshotProfileType.prototype.addProfileHeader):
2897         (WebInspector.HeapSnapshotProfileType.prototype.addHeapSnapshotChunk):
2898         (WebInspector.HeapSnapshotProfileType.prototype.finishHeapSnapshot):
2899         (WebInspector.HeapSnapshotProfileType.prototype.reportHeapSnapshotProgress):
2900         (WebInspector.HeapSnapshotProfileType.prototype.resetProfiles):
2901         (WebInspector.HeapSnapshotProfileType.prototype.removeProfile):
2902         (WebInspector.HeapSnapshotProfileType.prototype._requestProfilesFromBackend):
2903         (WebInspector.HeapProfileHeader.prototype._updateTransferProgress):
2904         * inspector/front-end/NativeMemorySnapshotView.js:
2905         (WebInspector.NativeSnapshotProfileType):
2906         (WebInspector.NativeSnapshotProfileType.prototype.addNativeSnapshotChunk):
2907         * inspector/front-end/ProfilesPanel.js:
2908         (WebInspector.ProfileType):
2909         (WebInspector.ProfileType.prototype.buttonClicked):
2910         (WebInspector.ProfileType.prototype.get description):
2911         (WebInspector.ProfileType.prototype.getProfiles):
2912         (WebInspector.ProfileType.prototype.getProfile):
2913         (WebInspector.ProfileType.prototype._makeKey):
2914         (WebInspector.ProfileType.prototype.addProfile):
2915         (WebInspector.ProfileType.prototype.removeProfile):
2916         (WebInspector.ProfileType.prototype.findTemporaryProfile):
2917         (WebInspector.ProfileType.prototype._reset):
2918         (WebInspector.ProfileType.prototype._requestProfilesFromBackend):
2919         (WebInspector.ProfileHeader):
2920         (WebInspector.ProfileHeader.prototype.dispose):
2921         (WebInspector.ProfilesPanel):
2922         (WebInspector.ProfilesPanel.prototype._loadFromFile):
2923         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
2924         (WebInspector.ProfilesPanel.prototype._populateAllProfiles):
2925         (WebInspector.ProfilesPanel.prototype.wasShown):
2926         (WebInspector.ProfilesPanel.prototype._profilerWasEnabled):
2927         (WebInspector.ProfilesPanel.prototype._reset):
2928         (WebInspector.ProfilesPanel.prototype._registerProfileType.onAddProfileHeader):
2929         (WebInspector.ProfilesPanel.prototype._registerProfileType.onRemoveProfileHeader):
2930         (WebInspector.ProfilesPanel.prototype._registerProfileType.onProgressUpdated):
2931         (WebInspector.ProfilesPanel.prototype._registerProfileType):
2932         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
2933         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
2934         (WebInspector.ProfilesPanel.prototype._createTemporaryProfile):
2935         (WebInspector.ProfilesPanel.prototype._removeTemporaryProfile):
2936         (WebInspector.ProfilesPanel.prototype.getProfile):
2937         (WebInspector.ProfilesPanel.prototype.showProfile):
2938         (WebInspector.ProfilesPanel.prototype._getAllProfiles):
2939         (WebInspector.ProfilesPanel.prototype._searchableViews):
2940         (WebInspector.ProfilesPanel.prototype.searchCanceled):
2941         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
2942         (WebInspector.ProfilesPanel.prototype._reportProfileProgress):
2943
2944 2013-02-25  Ilya Tikhonovsky  <loislo@chromium.org>
2945
2946         Unreviewed fix of type annotation for this._liveLocations.
2947
2948         * inspector/front-end/UISourceCode.js:
2949         (WebInspector.UISourceCode):
2950
2951 2013-02-25  Kent Tamura  <tkent@chromium.org>
2952
2953         Fix style errors in WebCore/editing/{htmlediting,markup,visible_units}.*
2954         https://bugs.webkit.org/show_bug.cgi?id=110721
2955
2956         Reviewed by Ryosuke Niwa.
2957
2958         No new tests. This should not make any bahevior changes.
2959
2960         * editing/htmlediting.cpp:
2961         (WebCore::lowestEditableAncestor):
2962         (WebCore):
2963         (WebCore::isSpecialElement):
2964         (WebCore::enclosingListChild):
2965         (WebCore::canMergeLists):
2966         (WebCore::tabSpanNode):
2967         (WebCore::isNodeRendered):
2968         (WebCore::caretMaxOffset):
2969         * editing/htmlediting.h:
2970         (WebCore):
2971         * editing/markup.cpp:
2972         (WebCore::StyledMarkupAccumulator::appendElement):
2973         * editing/markup.h:
2974         (WebCore):
2975         * editing/visible_units.cpp:
2976         (WebCore::previousRootInlineBoxCandidatePosition):
2977         (WebCore::nextRootInlineBoxCandidatePosition):
2978         (WebCore::wordBreakIteratorForMinOffsetBoundary):
2979         (WebCore::previousBoundary):
2980         (WebCore::endOfLine):
2981         (WebCore::previousLinePosition):
2982         (WebCore::nextLinePosition):
2983         (WebCore::nextSentencePositionBoundary):
2984         (WebCore::startOfParagraph):
2985         (WebCore::endOfParagraph):
2986
2987 2013-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
2988
2989         Web Inspector: Improve speed of Linkifier.reset operation.
2990         https://bugs.webkit.org/show_bug.cgi?id=110696
2991
2992         Reviewed by Yury Semikhatsky.
2993
2994         Linkifier calls Location.dispose N times and each dispose method calls Array.remove
2995         which scans entire array and does splice. So the complexity of Linkifier.reset
2996         is O(N^2). I replaced the arrays with Set and got O(N) complexity.
2997
2998         Drive by fix: The identifier generator was slightly changed.
2999         Now it produces identifiers that couldn't be converted into a number.
3000         So the engine will never convert Set/Map object into an array.
3001
3002         * inspector/front-end/Script.js:
3003         (WebInspector.Script):
3004         (WebInspector.Script.prototype.updateLocations):
3005         (WebInspector.Script.prototype.createLiveLocation):
3006         * inspector/front-end/UISourceCode.js:
3007         (WebInspector.UISourceCode):
3008         (WebInspector.UISourceCode.prototype.addLiveLocation):
3009         (WebInspector.UISourceCode.prototype.updateLiveLocations):
3010         * inspector/front-end/utilities.js:
3011
3012 2013-02-24  Sheriff Bot  <webkit.review.bot@gmail.com>
3013
3014         Unreviewed, rolling out r143797.
3015         http://trac.webkit.org/changeset/143797
3016         https://bugs.webkit.org/show_bug.cgi?id=110724
3017
3018         Causes assertion failures in multiple tests. (Requested by
3019         vsevik on #webkit).
3020
3021         * dom/DocumentParser.h:
3022         (DocumentParser):
3023         * html/parser/HTMLDocumentParser.cpp:
3024         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
3025         * html/parser/HTMLDocumentParser.h:
3026         (HTMLDocumentParser):
3027         (WebCore::HTMLDocumentParser::shouldUseThreading):
3028         * loader/DocumentWriter.cpp:
3029         (WebCore::DocumentWriter::replaceDocument):
3030
3031 2013-02-24  Hajime Morrita  <morrita@google.com>
3032
3033         Rollout r143556, it regressed html5-full-render perf.
3034         https://bugs.webkit.org/show_bug.cgi?id=110719
3035
3036         Unreviewed rollout.
3037         
3038         * css/BasicShapeFunctions.cpp:
3039         (WebCore::convertToLength):
3040         (WebCore::basicShapeForValue):
3041         * css/BasicShapeFunctions.h:
3042         (WebCore):
3043         * css/CSSGradientValue.cpp:
3044         (WebCore::CSSGradientValue::gradientWithStylesResolved):
3045         * css/CSSGradientValue.h:
3046         (CSSGradientValue):
3047         * css/CSSToStyleMap.cpp:
3048         (WebCore::CSSToStyleMap::style):
3049         (WebCore::CSSToStyleMap::rootElementStyle):
3050         (WebCore::CSSToStyleMap::useSVGZoomRules):
3051         (WebCore::CSSToStyleMap::styleImage):
3052         * css/CSSToStyleMap.h:
3053         (WebCore):
3054         (WebCore::CSSToStyleMap::CSSToStyleMap):
3055         (CSSToStyleMap):
3056         * css/SVGCSSStyleSelector.cpp:
3057         (WebCore::StyleResolver::applySVGProperty):
3058         * css/StyleBuilder.cpp:
3059         (WebCore::ApplyPropertyExpanding::applyInheritValue):
3060         (WebCore::ApplyPropertyExpanding::applyInitialValue):
3061         (WebCore::ApplyPropertyExpanding::applyValue):
3062         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
3063         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
3064         (WebCore::ApplyPropertyDefaultBase::applyValue):
3065         (WebCore::ApplyPropertyDefault::applyValue):
3066         (WebCore::ApplyPropertyNumber::applyValue):
3067         (WebCore::ApplyPropertyStyleImage::applyValue):
3068         (WebCore::ApplyPropertyAuto::applyInheritValue):
3069         (WebCore::ApplyPropertyAuto::applyInitialValue):
3070         (WebCore::ApplyPropertyAuto::applyValue):
3071         (WebCore::ApplyPropertyClip::convertToLength):
3072         (WebCore::ApplyPropertyClip::applyInheritValue):
3073         (WebCore::ApplyPropertyClip::applyInitialValue):
3074         (WebCore::ApplyPropertyClip::applyValue):
3075         (WebCore::ApplyPropertyColor::applyInheritValue):
3076         (WebCore::ApplyPropertyColor::applyInitialValue):
3077         (WebCore::ApplyPropertyColor::applyValue):
3078         (WebCore::ApplyPropertyColor::applyColorValue):
3079         (WebCore::ApplyPropertyDirection::applyValue):
3080         (WebCore::ApplyPropertyLength::applyValue):
3081         (WebCore::ApplyPropertyString::applyValue):
3082         (WebCore::ApplyPropertyBorderRadius::applyValue):
3083         (WebCore::ApplyPropertyFillLayer::applyInheritValue):
3084         (WebCore::ApplyPropertyFillLayer::applyInitialValue):
3085         (WebCore::ApplyPropertyFillLayer::applyValue):
3086         (WebCore::ApplyPropertyComputeLength::applyValue):
3087         (WebCore::ApplyPropertyFont::applyInheritValue):
3088         (WebCore::ApplyPropertyFont::applyInitialValue):
3089         (WebCore::ApplyPropertyFont::applyValue):
3090         (WebCore::ApplyPropertyFontSize::applyInheritValue):
3091         (WebCore::ApplyPropertyFontSize::applyInitialValue):
3092         (WebCore::ApplyPropertyFontSize::applyValue):
3093         (WebCore::ApplyPropertyFontWeight::applyValue):
3094         (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
3095         (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
3096         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
3097         (WebCore::ApplyPropertyBorderImage::applyValue):
3098         (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
3099         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
3100         (WebCore::ApplyPropertyBorderImageModifier::applyValue):
3101         (WebCore::ApplyPropertyBorderImageSource::applyValue):
3102         (WebCore::ApplyPropertyCounter::emptyFunction):
3103         (WebCore::ApplyPropertyCounter::applyInheritValue):
3104         (WebCore::ApplyPropertyCounter::applyValue):
3105         (WebCore::ApplyPropertyCursor::applyInheritValue):
3106         (WebCore::ApplyPropertyCursor::applyInitialValue):
3107         (WebCore::ApplyPropertyCursor::applyValue):
3108         (WebCore::ApplyPropertyTextAlign::applyValue):
3109         (WebCore::ApplyPropertyTextDecoration::applyValue):
3110         (WebCore::ApplyPropertyLineHeight::applyValue):
3111         (WebCore::ApplyPropertyPageSize::applyInheritValue):
3112         (WebCore::ApplyPropertyPageSize::applyInitialValue):
3113         (WebCore::ApplyPropertyPageSize::applyValue):
3114         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
3115         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
3116         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
3117         (WebCore::ApplyPropertyAnimation::map):
3118         (WebCore::ApplyPropertyAnimation::applyInheritValue):
3119         (WebCore::ApplyPropertyAnimation::applyInitialValue):
3120         (WebCore::ApplyPropertyAnimation::applyValue):
3121         (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
3122         (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
3123         (WebCore::ApplyPropertyOutlineStyle::applyValue):
3124         (WebCore::ApplyPropertyResize::applyValue):
3125         (WebCore::ApplyPropertyVerticalAlign::applyValue):
3126         (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
3127         (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
3128         (WebCore::ApplyPropertyAspectRatio::applyValue):
3129         (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
3130         (WebCore::ApplyPropertyZoom::applyInheritValue):
3131         (WebCore::ApplyPropertyZoom::applyInitialValue):
3132         (WebCore::ApplyPropertyZoom::applyValue):
3133         (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
3134         (WebCore::ApplyPropertyDisplay::applyInheritValue):
3135         (WebCore::ApplyPropertyDisplay::applyInitialValue):
3136         (WebCore::ApplyPropertyDisplay::applyValue):
3137         (WebCore::ApplyPropertyClipPath::applyValue):
3138         (WebCore::ApplyPropertyExclusionShape::applyValue):
3139         (WebCore::ApplyPropertyImageResolution::applyInheritValue):
3140         (WebCore::ApplyPropertyImageResolution::applyInitialValue):
3141         (WebCore::ApplyPropertyImageResolution::applyValue):
3142         * css/StyleBuilder.h:
3143         (WebCore):
3144         (PropertyHandler):
3145         (WebCore::PropertyHandler::applyInheritValue):
3146         (WebCore::PropertyHandler::applyInitialValue):
3147         (WebCore::PropertyHandler::applyValue):
3148         * css/StyleResolver.cpp:
3149         (WebCore):
3150         (WebCore::StyleResolver::StyleResolver):
3151         (WebCore::StyleResolver::collectMatchingRules):
3152         (WebCore::StyleResolver::collectMatchingRulesForRegion):
3153         (WebCore::StyleResolver::sortAndTransferMatchedRules):
3154         (WebCore::StyleResolver::matchScopedAuthorRules):
3155         (WebCore::StyleResolver::styleSharingCandidateMatchesHostRules):
3156         (WebCore::StyleResolver::matchHostRules):
3157         (WebCore::StyleResolver::matchAuthorRules):
3158         (WebCore::StyleResolver::matchUserRules):
3159         (WebCore::StyleResolver::matchUARules):
3160         (WebCore::StyleResolver::collectMatchingRulesForList):
3161         (WebCore::StyleResolver::sortMatchedRules):
3162         (WebCore::StyleResolver::matchAllRules):
3163         (WebCore::StyleResolver::initElement):
3164         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
3165         (WebCore::StyleResolver::canShareStyleWithControl):
3166         (WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
3167         (WebCore::StyleResolver::canShareStyleWithElement):
3168         (WebCore::StyleResolver::findSiblingForStyleSharing):
3169         (WebCore::StyleResolver::locateSharedStyle):
3170         (WebCore::StyleResolver::styleForElement):
3171         (WebCore::StyleResolver::styleForKeyframe):
3172         (WebCore::StyleResolver::keyframeStylesForAnimation):
3173         (WebCore::StyleResolver::pseudoStyleForElement):
3174         (WebCore::StyleResolver::styleForPage):
3175         (WebCore::StyleResolver::defaultStyleForElement):
3176         (WebCore::StyleResolver::adjustRenderStyle):
3177         (WebCore::StyleResolver::updateFont):
3178         (WebCore::StyleResolver::pseudoStyleRulesForElement):
3179         (WebCore::StyleResolver::ruleMatches):
3180         (WebCore::StyleResolver::checkRegionSelector):
3181         (WebCore::StyleResolver::applyProperties):
3182         (WebCore::StyleResolver::applyMatchedProperties):
3183         (WebCore::StyleResolver::isLeftPage):
3184         (WebCore::StyleResolver::applyPropertyToStyle):
3185         (WebCore::StyleResolver::applyPropertyToCurrentStyle):
3186         (WebCore::StyleResolver::useSVGZoomRules):
3187         (WebCore::StyleResolver::resolveVariables):
3188         (WebCore::StyleResolver::applyProperty):
3189         (WebCore::StyleResolver::styleImage):
3190         (WebCore::StyleResolver::cachedOrPendingFromValue):
3191         (WebCore::StyleResolver::generatedOrPendingFromValue):
3192         (WebCore::StyleResolver::setOrPendingFromValue):
3193         (WebCore::StyleResolver::cursorOrPendingFromValue):
3194         (WebCore::StyleResolver::checkForTextSizeAdjust):
3195         (WebCore::StyleResolver::checkForZoomChange):
3196         (WebCore::StyleResolver::checkForGenericFamilyChange):
3197         (WebCore::StyleResolver::initializeFontStyle):
3198         (WebCore::StyleResolver::setFontSize):
3199         (WebCore::StyleResolver::colorFromPrimitiveValue):
3200         (WebCore::StyleResolver::loadPendingSVGDocuments):
3201         (WebCore::StyleResolver::styleShader):
3202         (WebCore::StyleResolver::cachedOrPendingStyleShaderFromValue):
3203         (WebCore::StyleResolver::loadPendingShaders):
3204         (WebCore::StyleResolver::parseCustomFilterTransformParameter):
3205         (WebCore::StyleResolver::parseCustomFilterParameter):
3206         (WebCore::StyleResolver::parseCustomFilterParameterList):
3207         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
3208         (WebCore::StyleResolver::createCustomFilterOperation):
3209         (WebCore::StyleResolver::createFilterOperations):
3210         (WebCore::StyleResolver::loadPendingImage):
3211         (WebCore::StyleResolver::loadPendingImages):
3212         (WebCore::StyleResolver::loadPendingResources):
3213         (WebCore::StyleResolver::reportMemoryUsage):
3214         * css/StyleResolver.h:
3215         (WebCore::StyleResolver::style):
3216         (WebCore::StyleResolver::parentStyle):
3217         (WebCore::StyleResolver::rootElementStyle):
3218         (WebCore::StyleResolver::element):
3219         (WebCore::StyleResolver::hasParentNode):
3220         (StyleResolver):
3221         (WebCore::StyleResolver::isRightPage):
3222         (WebCore::StyleResolver::State::State):
3223         (WebCore::StyleResolver::State::document):
3224         (State):
3225         (WebCore::StyleResolver::applyPropertyToRegularStyle):
3226         (WebCore::StyleResolver::applyPropertyToVisitedLinkStyle):
3227         (WebCore::StyleResolver::styleMap):
3228         (WebCore::StyleResolver::fontDescription):
3229         (WebCore::StyleResolver::parentFontDescription):
3230         (WebCore::StyleResolver::setFontDescription):
3231         (WebCore::StyleResolver::setZoom):
3232         (WebCore::StyleResolver::setEffectiveZoom):
3233         (WebCore::StyleResolver::setTextSizeAdjust):
3234         (WebCore::StyleResolver::setWritingMode):
3235         (WebCore::StyleResolver::setTextOrientation):
3236         * html/canvas/CanvasRenderingContext2D.cpp:
3237         (WebCore::CanvasRenderingContext2D::setFont):
3238
3239 2013-02-24  Eric Carlson  <eric.carlson@apple.com>
3240
3241         [Mac] cleanup MediaPlayerPrivateAVFoundation and InbandTextTrackPrivateAVF
3242         https://bugs.webkit.org/show_bug.cgi?id=110716
3243
3244         Reviewed by Alexey Proskuryakov.
3245
3246         No new tests, no functionality changed.
3247
3248         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
3249         (WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF): Take AVFInbandTrackParent*
3250             instead of MediaPlayerPrivateAVFoundation*.
3251         (WebCore::InbandTextTrackPrivateAVF::processCue): Pass new cues directly to the client.
3252         (WebCore::InbandTextTrackPrivateAVF::disconnect): m_player -> m_owner.
3253         (WebCore::InbandTextTrackPrivateAVF::setMode):  m_player -> m_owner.
3254         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
3255
3256         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3257         (WebCore::MediaPlayerPrivateAVFoundation::addGenericCue): Delete, no longer needed.
3258         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3259
3260         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: Don't include 
3261             CachedResourceClient.h, it isn't needed.
3262
3263 2013-02-24  Kihong Kwon  <kihong.kwon@samsung.com>
3264
3265         Add an ASSERT to didChangeDeviceProximity
3266         https://bugs.webkit.org/show_bug.cgi?id=110317
3267
3268         Reviewed by Hajime Morrita.
3269
3270         Add An ASSERT to didChangeDeviceProximity function to check range of value.
3271
3272         Change exist test cases.
3273
3274         * Modules/proximity/DeviceProximityController.cpp:
3275         (WebCore::DeviceProximityController::didChangeDeviceProximity):
3276
3277 2013-02-24  Alexey Proskuryakov  <ap@apple.com>
3278
3279         Clarify meaning of default default encoding localizable string
3280         https://bugs.webkit.org/show_bug.cgi?id=110714
3281
3282         Reviewed by Eric Carlson.
3283
3284         * English.lproj/Localizable.strings: This string is only used on Windows, and it's
3285         very confusing to everyone involved.
3286
3287 2013-02-24  Mike West  <mkwst@chromium.org>
3288
3289         CSP 1.1: Experiment with 'reflected-xss' directive.
3290         https://bugs.webkit.org/show_bug.cgi?id=104479
3291
3292         Reviewed by Adam Barth.
3293
3294         Content Security Policy 1.1 defines a 'reflected-xss' directive that
3295         works in much the same way as WebKit's current 'X-XSS-Protection'
3296         header[1]. This patch implements the new directive by parsing it
3297         inside ContentSecurityPolicy, and exposing that state to XSSAuditor.
3298
3299         XSSAuditor now grabs the CSP directive's state, and mixes it with the
3300         X-XSS-Protection header's state to determine how the page should be
3301         handled. Moreover, both headers' states are now expressed in terms of
3302         ContentSecurityPolicy::ReflectedXSSDisposition.
3303
3304         [1]: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#reflected-xss--experimental
3305
3306         Tests: http/tests/security/contentSecurityPolicy/1.1/reflected-xss-allow.html
3307                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-allow.html
3308                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block.html
3309                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-filter.html
3310                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-invalid.html
3311                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-unset.html
3312                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow.html
3313                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block.html
3314                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter.html
3315                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid.html
3316                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset.html
3317                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-allow.html
3318                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block.html
3319                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-filter.html
3320                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-invalid.html
3321                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-unset.html
3322                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-allow.html
3323                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block.html
3324                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-filter.html
3325                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-invalid.html
3326                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-unset.html
3327                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-allow.html
3328                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block.html
3329                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-filter.html
3330                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-invalid.html
3331                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-unset.html
3332                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-block.html
3333                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-empty.html
3334                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-filter.html
3335                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-invalid.html
3336                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-parsing.html
3337
3338         * html/parser/XSSAuditor.cpp:
3339         (WebCore::combineXSSProtectionHeaderAndCSP):
3340             Given both headers' states, return the state which the XSSAuditor
3341             should use when parsing a page. Blocking overrides filtering, which
3342             overrides disabling.
3343         (WebCore):
3344         (WebCore::XSSAuditor::init):
3345             Process the 'X-XSS-Protection' header before grabbing the CSP
3346             header's state. Both are passed into the new
3347             combineXSSProtectionHeaderAndCSP method to generate the final
3348             state that ought to be used.
3349         (WebCore::XSSAuditor::XSSAuditor):
3350         (WebCore::XSSAuditor::filterToken):
3351         * html/parser/XSSAuditor.h:
3352             Switch to ContentSecurityPolicy::ReflectedXSSDisposition internally
3353             in XSSAuditor.
3354         * page/ContentSecurityPolicy.cpp:
3355         (WebCore::CSPDirectiveList::reflectedXSSDisposition):
3356             Enum defining the possible state of the 'reflected-xss' CSP directive.
3357         (CSPDirectiveList):
3358         (WebCore::CSPDirectiveList::CSPDirectiveList):
3359         (WebCore::CSPDirectiveList::parseReflectedXSS):
3360             Given a 'reflected-xss' directive's value, set the
3361             ReflectedXSSDisposition into a new property on the CSPDirectiveList.
3362         (WebCore):
3363         (WebCore::CSPDirectiveList::addDirective):
3364             Accept 'reflected-xss' as a valid directive if we're in
3365             experimental mode.
3366         (WebCore::ContentSecurityPolicy::reflectedXSSDisposition):
3367             Expose the directive's state via the public API.
3368         (WebCore::ContentSecurityPolicy::reportInvalidReflectedXSS):
3369             Generate console errors when invalid reflected-xss directive values
3370             are encounted during parsing.
3371         * page/ContentSecurityPolicy.h:
3372         * platform/network/HTTPParsers.cpp:
3373         (WebCore::parseXSSProtectionHeader):
3374         * platform/network/HTTPParsers.h:
3375         (WebCore):
3376             Start using ContentSecurityPolicy::ReflectedXSSDisposition rather
3377             than the XSSProtectionDisposition enum.
3378
3379 2013-02-24  Zan Dobersek  <zdobersek@igalia.com>
3380
3381         Updating GObject bindings baselines after r143863.
3382
3383         Unreviewed.
3384
3385         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
3386         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
3387         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
3388         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
3389         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
3390         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
3391         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
3392         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
3393         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
3394         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
3395         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
3396         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
3397         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp:
3398         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
3399         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
3400
3401 2013-02-24  Zan Dobersek  <zdobersek@igalia.com>
3402
3403         [GTK] Stop generating UserAgentGtk.h
3404         https://bugs.webkit.org/show_bug.cgi?id=110582
3405
3406         Reviewed by Martin Robinson.
3407
3408         No new tests - no new functionality.
3409
3410         * GNUmakefile.list.am: Move the UserAgentGtk.h build target from the derived sources list to
3411         the list of the WebCore platform sources.
3412         * platform/gtk/UserAgentGtk.cpp:
3413         (WebCore::standardUserAgent): Rename WEBKIT_USER_AGENT_(MAJOR|MINOR)_VERSION to
3414         USER_AGENT_GTK_(MAJOR|MINOR)_VERSION.