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