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