Versioning.
[WebKit-https.git] / Source / WebCore / ChangeLog-2012-10-02
1 2012-10-02  Simon Fraser  <simon.fraser@apple.com>
2
3         Make TiledBacking slightly less aware of scrolling
4         https://bugs.webkit.org/show_bug.cgi?id=98216
5
6         Reviewed by Anders Carlsson.
7
8         TiledBacking shouldn't really care about there being scrollbars;
9         recast this in terms of "tile coverage", described by a bitfield
10         that has flags for coverage optimized for horizontal and vertical
11         scrolling. This allows for additional tile coverage behaviors later.
12
13         * page/FrameView.cpp:
14         (WebCore::FrameView::performPostLayoutTasks):
15         * platform/graphics/TiledBacking.h:
16         * platform/graphics/ca/mac/TileCache.h:
17         * platform/graphics/ca/mac/TileCache.mm:
18         (WebCore::TileCache::TileCache): Initialize m_isInWindow to false to
19         be more conservative. It gets explicitly set by the only caller now, so this is
20         not a behavior change.
21         (WebCore::TileCache::setIsInWindow):
22         (WebCore::TileCache::setTileCoverage):
23         (WebCore::TileCache::tileCoverageRect):
24         * rendering/RenderLayerBacking.cpp:
25         (WebCore::RenderLayerBacking::RenderLayerBacking):
26
27 2012-10-02  Dean Jackson  <dino@apple.com>
28
29         Expose some GPU Information
30         https://bugs.webkit.org/show_bug.cgi?id=97813
31
32         Reviewed by Sam Weinig, Ken Russell and Tim Horton.
33
34         Currently there are a few places in the WebGL code (and elsewhere, like CSS filters)
35         where we do some feature detection by examining the GPU vendor and its capabilities.
36         This patch puts this detection into our shared Extensions3D object.
37
38         Covered by existing tests. No new functionality.
39
40         * platform/graphics/Extensions3D.h: Adds the new methods for detecting vendor and features.
41         * platform/graphics/GraphicsContext3D.h:
42         (GraphicsContext3D): No longer needs function to detect multisampling on ATI.
43         * platform/graphics/chromium/Extensions3DChromium.h: Stub implementations of all
44         the new methods. Chromium does its detection elsewhere.
45         (WebCore::Extensions3DChromium::isNVIDIA):
46         (WebCore::Extensions3DChromium::isAMD):
47         (WebCore::Extensions3DChromium::isIntel):
48         (WebCore::Extensions3DChromium::vendor):
49         (Extensions3DChromium):
50         (WebCore::Extensions3DChromium::maySupportMultisampling):
51         (WebCore::Extensions3DChromium::requiresBuiltInFunctionEmulation):
52         * platform/graphics/filters/FECustomFilter.cpp:
53         (WebCore::FECustomFilter::createMultisampleBuffer): Add test for system multisampling to
54         custom filter code.
55         * platform/graphics/gpu/DrawingBuffer.cpp:
56         (WebCore::DrawingBuffer::create): Add test for system multisampling to drawing buffer's
57         creation code.
58         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
59         (WebCore::Extensions3DOpenGLCommon::Extensions3DOpenGLCommon): Detects all the features
60         as the object is created.
61         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Can now simply ask
62         itself if it needs to turn on built-in function translation.
63         * platform/graphics/opengl/Extensions3DOpenGLCommon.h:
64         (Extensions3DOpenGLCommon):
65         (WebCore::Extensions3DOpenGLCommon::isNVidia):
66         (WebCore::Extensions3DOpenGLCommon::isAMD):
67         (WebCore::Extensions3DOpenGLCommon::isIntel):
68         (WebCore::Extensions3DOpenGLCommon::vendor):
69         (WebCore::Extensions3DOpenGLCommon::maySupportMultisampling):
70         (WebCore::Extensions3DOpenGLCommon::requiresBuiltInFunctionEmulation):
71         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
72         (WebCore::GraphicsContext3D::validateAttributes): Ask the extension object instead of
73         testing directly.
74         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
75         (WebCore::GraphicsContext3D::validateDepthStencil): Ask the extension object instead
76         of testing directly.
77
78 2012-10-02  Kenichi Ishibashi  <bashi@chromium.org>
79
80         [Chromium] Introduce caches for HarfBuzzShaper
81         https://bugs.webkit.org/show_bug.cgi?id=97993
82
83         Reviewed by Tony Chang.
84
85         - Implement canRenderCombiningCharacterSequence() for ports which use
86         HarfBuzzShaper. This function caches the result and will improve the
87         performance of HarfBuzzShaper::collectHarfBuzzRuns.
88         - Add a HashMap to HarfBuzzNGFace. It is used as a cache that holds
89         glyph indexes of codepoints. It reduces the number of
90         SkPaint::textToGlyphs() calls.
91
92         This patch makes the intl2 page cycler 4.4% faster on my machine.
93
94         No new tests. No changes in behavior.
95
96         * platform/graphics/SimpleFontData.h:
97         (SimpleFontData): Enabled canRenderCombiningCharacterSequence() if USE(HARFBUZZ_NG) is enabled.
98         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
99         (WebCore):
100         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): Added.
101         * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp:
102         (WebCore):
103         (FaceCacheEntry): Added.
104         (WebCore::HarfBuzzNGFace::HarfBuzzNGFace):
105         Lookup the cache entry in harfBuzzFaceCache. Create the entry if there is no entry in the cache.
106         Increment the ref count of the entry and set cache entry values to member variables.
107         (WebCore::HarfBuzzNGFace::~HarfBuzzNGFace):
108         Decrement the ref count of the cache entry. Remove the entry if no one refers the cache.
109         * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h:
110         (HarfBuzzNGFace):
111         * platform/graphics/harfbuzz/ng/HarfBuzzNGFaceSkia.cpp:
112         (HarfBuzzFontData): Added. Used as |userData| of harfbuzz callback functions.
113         (WebCore):
114         (WebCore::SkiaGetGlyphWidthAndExtents):
115         (WebCore::harfbuzzGetGlyph):
116         Look up the glyphChache first. If the cache entry doesn't exist, call
117         SkPaint::textToGlyphs() to get glyph index and store it to the cache.
118         (WebCore::harfbuzzGetGlyphHorizontalAdvance):
119         (WebCore::harfbuzzGetGlyphExtents):
120         (WebCore::destroyHarfBuzzFontData): Added.
121         (WebCore::HarfBuzzNGFace::createFont):
122         Create HarfBuzzFontData and pass it to harfbuzz.
123         * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
124         (WebCore::HarfBuzzShaper::HarfBuzzRun::applyShapeResult):
125         Don't initialize m_glyphToCharacterIndexes here.
126         (WebCore::HarfBuzzShaper::collectHarfBuzzRuns):
127         Use SimpleFontData::canRenderCombiningCharacterSequence() instead of
128         fontDataForCombiningCharacterSequence().
129         (WebCore::HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun):
130         Set glyphToCharacterIndexes of the current HarfBuzzRun.
131         * platform/graphics/skia/SimpleFontDataSkia.cpp:
132         (WebCore):
133         (WebCore::SimpleFontData::canRenderCombiningCharacterSequence): Added.
134
135 2012-10-02  Beth Dakin  <bdakin@apple.com>
136
137         https://bugs.webkit.org/show_bug.cgi?id=98182
138         REGRESSION (r130091): Scroll wheel no longer scrolls within div
139
140         Reviewed by Simon Fraser.
141
142         Forgot to initialize m_nonFastScrollableRegion in this copy 
143         constructor.
144         * page/scrolling/ScrollingStateScrollingNode.cpp:
145         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
146
147 2012-10-02  Nate Chapin  <japhet@chromium.org>
148
149         iframes with scrolling=no can't scroll to anchors
150         https://bugs.webkit.org/show_bug.cgi?id=96539
151
152         Reviewed by Antonio Gomes.
153
154         This appears to have regressed in r106730. This patch matches Firefox's behavior.
155
156         Test: fast/dom/HTMLAnchorElement/anchor-in-noscroll-iframe.html
157
158         * page/EventHandler.h:
159         * rendering/RenderLayer.cpp:
160         (WebCore::RenderLayer::scrollRectToVisible): Currently scrolls are always forbidden
161            if scrollbars are explicitly disabled. This adds an exception for scrolls that
162            are not user-initiated and are not autoscrolls.
163
164 2012-10-02  Simon Fraser  <simon.fraser@apple.com>
165
166         Restore the virtual purity of TileBacking
167         https://bugs.webkit.org/show_bug.cgi?id=98208
168
169         Reviewed by Anders Carlsson.
170
171         Remove the data member on TileBacking, make the logging methods
172         virtual, and move the implememtation to TileCache.
173
174         * platform/graphics/TiledBacking.h:
175         * platform/graphics/ca/mac/TileCache.h:
176         * platform/graphics/ca/mac/TileCache.mm:
177         (WebCore::TileCache::TileCache):
178         * platform/graphics/ca/mac/WebTileLayer.mm:
179         (-[WebTileLayer drawInContext:]): Have to cast to call the public
180         method on the base class.
181
182 2012-10-02  Ojan Vafai  <ojan@chromium.org>
183
184         isMainThread() should only be called by NoEventDispatchAssertion in debug builds
185         https://bugs.webkit.org/show_bug.cgi?id=98191
186
187         This fixes a performance regression and matches the original code from
188         before the refactor in http://trac.webkit.org/changeset/130077.
189
190         * dom/ContainerNode.h:
191         (WebCore::NoEventDispatchAssertion::NoEventDispatchAssertion):
192         (WebCore::NoEventDispatchAssertion::~NoEventDispatchAssertion):
193
194 2012-10-02  Erik Arvidsson  <arv@chromium.org>
195
196         createHTMLDocument() should not create a title element if the title argument is left out
197         https://bugs.webkit.org/show_bug.cgi?id=96694
198
199         Reviewed by Darin Adler.
200
201         In case the argument is not passed to createHTMLDocument we use a null string and check
202         for that before creating a title element.
203
204         Test: fast/dom/DOMImplementation/createHTMLDocument-optional-title.html
205
206         * dom/DOMImplementation.cpp:
207         (WebCore::DOMImplementation::createHTMLDocument):
208         * dom/DOMImplementation.idl:
209
210 2012-10-02  David Grogan  <dgrogan@chromium.org>
211
212         IndexedDB: Don't wedge if page reloads with pending upgradeneeded
213         https://bugs.webkit.org/show_bug.cgi?id=98091
214
215         Reviewed by Tony Chang.
216
217         Test: storage/indexeddb/dont-wedge.html
218
219         * Modules/indexeddb/IDBOpenDBRequest.cpp:
220         (WebCore::IDBOpenDBRequest::onUpgradeNeeded):
221         This got the same treatment as IDBRequest::onSuccess(Transaction).
222         Explicitly tell the backend objects that they are going away so that
223         m_runningVersionChangeTransaction is cleared and connectionCount()
224         decreases.
225
226 2012-10-02  David Grogan  <dgrogan@chromium.org>
227
228         http/tests/inspector/indexeddb/database-structure.html start to crash after r124675
229         https://bugs.webkit.org/show_bug.cgi?id=93225
230
231         Reviewed by Tony Chang.
232
233         Tests - the disabled indexeddb inspector tests are re-enabled.
234
235         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
236         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
237         (WebCore::IDBDatabaseBackendImpl::close):
238         Detect re-entrancy and bail.
239
240         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
241         (IDBDatabaseBackendImpl):
242
243 2012-10-02  Michael Saboff  <msaboff@apple.com>
244
245         HTMLConstructionSite::insertTextNode isn't optimized for 8 bit strings
246         https://bugs.webkit.org/show_bug.cgi?id=97740
247
248         Reviewed by Darin Adler.
249
250         Changed parserAppendData to take a string instead of a UChar*.  Also added an optional offset
251         argument to handle string+offset.  The actual string append now uses the appropriate string
252         size.
253
254         * dom/CharacterData.cpp:
255         (WebCore::CharacterData::parserAppendData):
256         * dom/CharacterData.h:
257         (CharacterData):
258         * dom/Text.cpp:
259         (WebCore::Text::createWithLengthLimit):
260         * html/parser/HTMLConstructionSite.cpp:
261         (WebCore::HTMLConstructionSite::insertTextNode):
262
263 2012-10-02  Ojan Vafai  <ojan@chromium.org>
264
265         Unreviewed, rolling out r130103 and r130125.
266         http://trac.webkit.org/changeset/130103
267         http://trac.webkit.org/changeset/130125
268         https://bugs.webkit.org/show_bug.cgi?id=97974
269
270         Causes performance regressions on Dromaeo dom modify tests.
271
272         * bindings/v8/IntrusiveDOMWrapperMap.h:
273         (WebCore):
274         (ChunkedTable):
275         (WebCore::ChunkedTable::ChunkedTable):
276         (WebCore::ChunkedTable::add):
277         (WebCore::ChunkedTable::remove):
278         (WebCore::ChunkedTable::clear):
279         (WebCore::ChunkedTable::visit):
280         (WebCore::ChunkedTable::reportMemoryUsage):
281         (WebCore::ChunkedTable::Chunk::Chunk):
282         (Chunk):
283         (WebCore::ChunkedTable::clearEntries):
284         (WebCore::ChunkedTable::visitEntries):
285         (WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
286         (WebCore::IntrusiveDOMWrapperMap::get):
287         (WebCore::IntrusiveDOMWrapperMap::set):
288         (WebCore::IntrusiveDOMWrapperMap::contains):
289         (WebCore::IntrusiveDOMWrapperMap::visit):
290         (WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
291         (IntrusiveDOMWrapperMap):
292         (WebCore::IntrusiveDOMWrapperMap::clear):
293         (ChunkedTableTraits):
294         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::move):
295         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
296         (WebCore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
297         * bindings/v8/ScriptWrappable.h:
298         (WebCore::ScriptWrappable::ScriptWrappable):
299         (WebCore::ScriptWrappable::wrapper):
300         (WebCore::ScriptWrappable::setWrapper):
301         (WebCore::ScriptWrappable::clearWrapper):
302         (WebCore::ScriptWrappable::reportMemoryUsage):
303         (ScriptWrappable):
304         * bindings/v8/V8DOMWrapper.h:
305         (WebCore::V8DOMWrapper::getCachedWrapper):
306
307 2012-10-02  Ilya Tikhonovsky  <loislo@chromium.org>
308
309         Web Inspector: NMI: switch to non intrusive instrumentation of ParsedURL.
310         https://bugs.webkit.org/show_bug.cgi?id=98150
311
312         Reviewed by Yury Semikhatsky.
313
314         Style changes.
315
316         * platform/KURLWTFURLImpl.h:
317         (WebCore::KURLWTFURLImpl::reportMemoryUsage):
318
319 2012-10-02  Anders Carlsson  <andersca@apple.com>
320
321         Add new GraphicsLayer::create overload to all ports
322         https://bugs.webkit.org/show_bug.cgi?id=98082
323
324         Reviewed by Andreas Kling.
325
326         Add the GraphicsLayer::create variant that takes a factory to all ports.
327
328         * platform/graphics/GraphicsLayer.cpp:
329         (WebCore):
330         (WebCore::GraphicsLayer::setGraphicsLayerFactory):
331         * platform/graphics/GraphicsLayer.h:
332         (GraphicsLayer):
333         Rename the GraphicsLayerFactory function typedef to GraphicsLayerFactoryCallback to avoid collisions.
334
335         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
336         (WebCore::GraphicsLayer::create):
337         (WebCore):
338         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
339         (WebCore::GraphicsLayer::create):
340         (WebCore):
341         * platform/graphics/clutter/GraphicsLayerClutter.cpp:
342         (WebCore::GraphicsLayer::create):
343         (WebCore):
344         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
345         (WebCore::GraphicsLayer::create):
346         (WebCore):
347
348 2012-10-02  Takashi Sakamoto  <tasak@google.com>
349
350         [Shadow] ShadowRoot should know whether <shadow> in its treescope
351         https://bugs.webkit.org/show_bug.cgi?id=97184
352
353         Reviewed by Dimitri Glazkov.
354
355         To quickly know whether some shadow dom subtree has any shadow element
356         or not, added hasShadowRootInsertionPoint, registerShadowElement and
357         unregisterShadowElement to class ShadowRoot. The register method or
358         unregister method is used when a shadow element is inserted into
359         document or removed from document. hasShadowInsertionPoint returns true
360         if any shadow element is still registered with the given shadow root.
361         Otherwise returns false. To test hasShadowInsertionPoint, added
362         hasShadowInsertionPoint to Internals.
363
364         Test: fast/dom/shadow/has-shadow-insertion-point.html
365
366         * dom/ShadowRoot.cpp:
367         (WebCore::ShadowRoot::ShadowRoot):
368         Initializes number of shadow elements.
369         * dom/ShadowRoot.h:
370         (WebCore::ShadowRoot::registerShadowElement):
371         Increases number of shadow elements in shadow dom subtree by 1.
372         (WebCore::ShadowRoot::unregisterShadowElement):
373         Decreases number of shadow elements in shadow dom subtree by 1.
374         (WebCore::ShadowRoot::hasShadowInsertionPoint):
375         If number of shadow elements in shadow dom subtree is not equal to 0,
376         returns true. Otherwise, returns false.
377         * html/shadow/HTMLShadowElement.cpp:
378         (WebCore::HTMLShadowElement::HTMLShadowElement):
379         (WebCore::HTMLShadowElement::insertedInto):
380         If a shadow element is inserted into document, register the shadow
381         element with its shadow root.
382         (WebCore::HTMLShadowElement::removedFrom):
383          If a shadow element is removed from document, unregister the shadow
384         element with its shadow root.
385         * html/shadow/HTMLShadowElement.h:
386         Added a new member variable which has information about whether
387         this shadow element has been already registered with its shadow root
388         or not.
389         * testing/Internals.cpp:
390         (WebCore::Internals::hasShadowInsertionPoint):
391         Added a new testing method which returns whether the given shadow
392         root has any shadow element or not.
393         * testing/Internals.h:
394         (Internals):
395         * testing/Internals.idl:
396
397 2012-10-02  Vsevolod Vlasov  <vsevik@chromium.org>
398
399         Web Inspector: [Regression] DevToolsExtensionTest.TestContentScriptIsPresent fails
400         https://bugs.webkit.org/show_bug.cgi?id=98161
401
402         Reviewed by Pavel Feldman.
403
404         Content scripts should be also added by NetworkUISourceCodeProvider. This patch fixes that.
405
406         * inspector/front-end/NetworkUISourceCodeProvider.js:
407         (WebInspector.NetworkUISourceCodeProvider.prototype._parsedScriptSource):
408
409 2012-10-02  Patrick Gansterer  <paroga@webkit.org>
410
411         [WINCE] Remove FontPlatformData::averageCharWidth()
412         https://bugs.webkit.org/show_bug.cgi?id=97883
413
414         Reviewed by Andreas Kling.
415
416         Use SimpleFontData::avgCharWidth() instead to remove duplicated code.
417
418         * platform/graphics/wince/FontPlatformData.cpp:
419         (WebCore::FixedSizeFontData::create):
420         * platform/graphics/wince/FontPlatformData.h:
421         (FontPlatformData):
422         * platform/graphics/wince/GraphicsContextWinCE.cpp:
423         (WebCore::GraphicsContext::drawText):
424
425 2012-10-02  Stephen Chenney  <schenney@chromium.org>
426
427         Refactor WebCore::FontData handling to clarify pointer ownership
428         https://bugs.webkit.org/show_bug.cgi?id=95866
429
430         Reviewed by Eric Seidel.
431
432         Re-commit for a rolled-out original, now with Chromium Windows build fix.
433
434         This patch makes all FontData and derived classes ref-counted in all
435         code paths that lead to caching or other retention of a
436         pointer. The goal is to avert crashes and memory leaks, and to bring
437         the code more in line with current WebKit practices.
438
439         Specifically, this patch allows us to use ref pointers for all the
440         FontData stored in FontFallbackList objects. The FontFallbackList can
441         then own custom font data and manage its lifetime (forthcoming patch).
442         Currently Document owns custom font data and does an end run around
443         FontFallbackList in deleting glyph pages and custom font data, leaving
444         FontFallbackList with invalid pointers.
445
446         All FontData derived classes have been switched to use static create
447         methods with private constructors.
448
449         All caches that hold FontData now use RefPtrs.
450
451         All methods that construct new font data now return PassRefPtr, with the
452         exception of code only used to generate temporary data for text run layout.
453
454         All methods that handle FontData in a call stack that passes through
455         FontFallbackList::fontDataAt return PassRefPtr.
456
457         Performance tested with both WebKit Perf-o-matic, which showed
458         performance changes in the noise, and Chrome's page cycling tests with
459         the acid3 benchmark set, which showed no performance difference at all.
460
461         No new tests as this is refactoring code only and has no impact on functionality.
462
463         * css/CSSFontFace.cpp:
464         (WebCore::CSSFontFace::getFontData):
465         * css/CSSFontFace.h:
466         (CSSFontFace):
467         * css/CSSFontFaceSource.cpp:
468         (WebCore::CSSFontFaceSource::getFontData):
469         * css/CSSFontFaceSource.h:
470         (CSSFontFaceSource):
471         * css/CSSFontSelector.cpp:
472         (WebCore::fontDataForGenericFamily):
473         (WebCore::CSSFontSelector::getFontData):
474         * css/CSSFontSelector.h:
475         * css/CSSSegmentedFontFace.cpp:
476         (WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading):
477         (WebCore::CSSSegmentedFontFace::getFontData):
478         * css/CSSSegmentedFontFace.h:
479         (CSSSegmentedFontFace):
480         * dom/Document.cpp:
481         (WebCore::Document::registerCustomFont):
482         * dom/Document.h:
483         (Document):
484         * platform/graphics/Font.h:
485         (WebCore):
486         * platform/graphics/FontCache.cpp:
487         (WebCore):
488         (WebCore::FontCache::getCachedFontData):
489         (WebCore::FontCache::getNonRetainedLastResortFallbackFont):
490         (WebCore::FontCache::releaseFontData):
491         (WebCore::FontCache::purgeInactiveFontData):
492         (WebCore::FontCache::getFontData):
493         * platform/graphics/FontCache.h:
494         (FontCache):
495         * platform/graphics/FontData.h:
496         * platform/graphics/FontFallbackList.cpp:
497         (WebCore::FontFallbackList::releaseFontData):
498         (WebCore::FontFallbackList::fontDataAt):
499         (WebCore::FontFallbackList::setPlatformFont):
500         * platform/graphics/FontFallbackList.h:
501         (FontFallbackList):
502         * platform/graphics/FontFastPath.cpp:
503         (WebCore::Font::glyphDataAndPageForCharacter):
504         * platform/graphics/FontSelector.h:
505         (FontSelector):
506         * platform/graphics/GlyphPageTreeNode.cpp:
507         (WebCore::GlyphPageTreeNode::initializePage):
508         * platform/graphics/SegmentedFontData.cpp:
509         (WebCore::SegmentedFontData::fontDataForCharacter):
510         * platform/graphics/SegmentedFontData.h:
511         (WebCore::FontDataRange::FontDataRange):
512         (WebCore::FontDataRange::fontData):
513         (FontDataRange):
514         (WebCore::SegmentedFontData::create):
515         (SegmentedFontData):
516         (WebCore::SegmentedFontData::SegmentedFontData):
517         * platform/graphics/SimpleFontData.cpp:
518         (WebCore::SimpleFontData::verticalRightOrientationFontData):
519         (WebCore::SimpleFontData::uprightOrientationFontData):
520         (WebCore::SimpleFontData::brokenIdeographFontData):
521         * platform/graphics/SimpleFontData.h:
522         (WebCore::SimpleFontData::create):
523         (SimpleFontData):
524         (WebCore::SimpleFontData::variantFontData):
525         (DerivedFontData):
526         * platform/graphics/chromium/FontCacheAndroid.cpp:
527         (WebCore::FontCache::getFontDataForCharacters):
528         (WebCore::FontCache::getSimilarFontPlatformData):
529         (WebCore::FontCache::getLastResortFallbackFont):
530         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
531         (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
532         (GetLastResortFallbackFontProcData):
533         (WebCore::FontCache::getFontDataForCharacters):
534         (WebCore::FontCache::getSimilarFontPlatformData):
535         (WebCore::FontCache::getLastResortFallbackFont):
536         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
537         (WebCore::SimpleFontData::createScaledFontData):
538         (WebCore::SimpleFontData::smallCapsFontData):
539         (WebCore::SimpleFontData::emphasisMarkFontData):
540         * platform/graphics/freetype/FontCacheFreeType.cpp:
541         (WebCore::FontCache::getFontDataForCharacters):
542         (WebCore::FontCache::getSimilarFontPlatformData):
543         (WebCore::FontCache::getLastResortFallbackFont):
544         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
545         (WebCore::SimpleFontData::createScaledFontData):
546         (WebCore::SimpleFontData::smallCapsFontData):
547         (WebCore::SimpleFontData::emphasisMarkFontData):
548         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
549         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
550         * platform/graphics/mac/FontCacheMac.mm:
551         (WebCore::FontCache::getFontDataForCharacters):
552         (WebCore::FontCache::getSimilarFontPlatformData):
553         (WebCore::FontCache::getLastResortFallbackFont):
554         * platform/graphics/mac/FontComplexTextMac.cpp:
555         (WebCore::Font::fontDataForCombiningCharacterSequence):
556         * platform/graphics/mac/SimpleFontDataMac.mm:
557         (WebCore::SimpleFontData::platformDestroy):
558         (WebCore::SimpleFontData::createScaledFontData):
559         (WebCore::SimpleFontData::smallCapsFontData):
560         (WebCore::SimpleFontData::emphasisMarkFontData):
561         * platform/graphics/pango/FontCachePango.cpp:
562         (WebCore::FontCache::getFontDataForCharacters):
563         (WebCore::FontCache::getSimilarFontPlatformData):
564         (WebCore::FontCache::getLastResortFallbackFont):
565         * platform/graphics/pango/SimpleFontDataPango.cpp:
566         (WebCore::SimpleFontData::createScaledFontData):
567         (WebCore::SimpleFontData::smallCapsFontData):
568         (WebCore::SimpleFontData::emphasisMarkFontData):
569         * platform/graphics/qt/FontCacheQt.cpp:
570         (WebCore::FontCache::getFontDataForCharacters):
571         (WebCore::FontCache::getSimilarFontPlatformData):
572         (WebCore::FontCache::getLastResortFallbackFont):
573         * platform/graphics/qt/SimpleFontDataQt.cpp:
574         (WebCore::SimpleFontData::createScaledFontData):
575         (WebCore::SimpleFontData::smallCapsFontData):
576         (WebCore::SimpleFontData::emphasisMarkFontData):
577         * platform/graphics/skia/FontCacheSkia.cpp:
578         (WebCore::FontCache::getFontDataForCharacters):
579         (WebCore::FontCache::getSimilarFontPlatformData):
580         (WebCore::FontCache::getLastResortFallbackFont):
581         * platform/graphics/skia/SimpleFontDataSkia.cpp:
582         (WebCore::SimpleFontData::createScaledFontData):
583         (WebCore::SimpleFontData::smallCapsFontData):
584         (WebCore::SimpleFontData::emphasisMarkFontData):
585         * platform/graphics/win/FontCacheWin.cpp:
586         (WebCore::FontCache::getFontDataForCharacters):
587         (WebCore::FontCache::getSimilarFontPlatformData):
588         (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
589         (WebCore::FontCache::getLastResortFallbackFont):
590         * platform/graphics/win/SimpleFontDataWin.cpp:
591         (WebCore::SimpleFontData::createScaledFontData):
592         (WebCore::SimpleFontData::smallCapsFontData):
593         (WebCore::SimpleFontData::emphasisMarkFontData):
594         * platform/graphics/wince/FontCacheWinCE.cpp:
595         (WebCore::FontCache::getFontDataForCharacters):
596         (WebCore::FontCache::getSimilarFontPlatformData):
597         (WebCore::FontCache::getLastResortFallbackFont):
598         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
599         (WebCore::SimpleFontData::createScaledFontData):
600         (WebCore::SimpleFontData::smallCapsFontData):
601         (WebCore::SimpleFontData::emphasisMarkFontData):
602         * platform/graphics/wx/FontCacheWx.cpp:
603         (WebCore::FontCache::getFontDataForCharacters):
604         (WebCore::FontCache::getSimilarFontPlatformData):
605         (WebCore::FontCache::getLastResortFallbackFont):
606         * platform/graphics/wx/SimpleFontDataWx.cpp:
607         (WebCore::SimpleFontData::createScaledFontData):
608         (WebCore::SimpleFontData::smallCapsFontData):
609         (WebCore::SimpleFontData::emphasisMarkFontData):
610
611 2012-10-02  Christophe Dumez  <christophe.dumez@intel.com>
612
613         [XMLHttpRequest] overrideMimeType(mime) does not update the response's "Content-Type" header
614         https://bugs.webkit.org/show_bug.cgi?id=98137
615
616         Reviewed by Kentaro Hara.
617
618         According to the XMLHttpRequest specification, overrideMimeType(mime) sets the
619         "Content-Type" header for the response to mime. However, with the current
620         implementation, calling overrideMimeType(mime) does not affect the value
621         returned by client.getResponseHeader("Content-Type"). This patch makes sure
622         the response's "Content-Type" header is properly updated with the override
623         MIME type.
624
625         Test: http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-content-type-header.html
626
627         * xml/XMLHttpRequest.cpp:
628         (WebCore::XMLHttpRequest::didReceiveResponse):
629
630 2012-10-02  Vsevolod Vlasov  <vsevik@chromium.org>
631
632         Web Inspector: Move UISourceCode creation out from ResourceScriptMapping.
633         https://bugs.webkit.org/show_bug.cgi?id=97680
634
635         Reviewed by Pavel Feldman.
636
637         UISourceCodes for scripts having sourceURL are now created by NetworkUISourceCodeProvider.
638         UISourceCodes for anonymous, dynamic and concatenated scripts are now created on demand only.
639         All UISourceCodes created by ResourceScriptMapping are now "temporary".
640         Temporary UISourceCodes are not stored in workspace and removed when a normal UISourceCode with the same url is available.
641         UISourceCodeReplaced event was replaced with TemporaryUISourceCodeAdded/Removed events.
642
643         * inspector/front-end/BreakpointManager.js:
644         (WebInspector.BreakpointManager):
645         (WebInspector.BreakpointManager.prototype._uiSourceCodeRemoved):
646         (WebInspector.BreakpointManager.Breakpoint.prototype.remove):
647         * inspector/front-end/NavigatorView.js:
648         * inspector/front-end/NetworkUISourceCodeProvider.js:
649         (WebInspector.NetworkUISourceCodeProvider):
650         (WebInspector.NetworkUISourceCodeProvider.prototype._parsedScriptSource):
651         * inspector/front-end/ResourceScriptMapping.js:
652         (WebInspector.ResourceScriptMapping):
653         (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
654         (WebInspector.ResourceScriptMapping.prototype._workspaceUISourceCodeForScript):
655         (WebInspector.ResourceScriptMapping.prototype.uiLocationToRawLocation):
656         (WebInspector.ResourceScriptMapping.prototype.addScript):
657         (WebInspector.ResourceScriptMapping.prototype._deleteTemporaryUISourceCodeForScripts):
658         (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
659         (WebInspector.ResourceScriptMapping.prototype._isDynamicScript):
660         (WebInspector.ResourceScriptMapping.prototype._getOrCreateTemporaryUISourceCode):
661         (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAddedToWorkspace):
662         (WebInspector.ResourceScriptMapping.prototype._scriptsForUISourceCode):
663         (WebInspector.ResourceScriptMapping.prototype._reset):
664         * inspector/front-end/RevisionHistoryView.js:
665         (WebInspector.RevisionHistoryView):
666         * inspector/front-end/ScriptsNavigator.js:
667         * inspector/front-end/ScriptsPanel.js:
668         (WebInspector.ScriptsPanel):
669         * inspector/front-end/TabbedEditorContainer.js:
670         (WebInspector.TabbedEditorContainer.prototype.removeUISourceCode.get if):
671         (WebInspector.TabbedEditorContainer.prototype.removeUISourceCode):
672         * inspector/front-end/UISourceCode.js:
673         * inspector/front-end/Workspace.js:
674         (WebInspector.Project.prototype.addTemporaryUISourceCode):
675         (WebInspector.Project.prototype.removeTemporaryUISourceCode):
676
677 2012-10-02  Pavel Feldman  <pfeldman@chromium.org>
678
679         Web Inspector: fix front-end compilation
680         https://bugs.webkit.org/show_bug.cgi?id=98135
681
682         Reviewed by Vsevolod Vlasov.
683
684         Fixing front-end compilation errors.
685
686         * inspector/InjectedScriptCanvasModuleSource.js:
687         (.):
688         * inspector/InjectedScriptSource.js:
689         (.):
690         * inspector/front-end/DOMExtension.js:
691         (Element.prototype.pruneEmptyTextNodes):
692         * inspector/front-end/DatabaseQueryView.js:
693         * inspector/front-end/ExtensionAPI.js:
694         * inspector/front-end/JavaScriptSource.js:
695         (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
696         * inspector/front-end/RuntimeModel.js:
697         * inspector/front-end/StylesSidebarPane.js:
698         * inspector/front-end/TextPrompt.js:
699         (WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
700         * inspector/front-end/treeoutline.js:
701         (TreeElement.prototype.expandRecursively):
702
703 2012-10-02  Jochen Eisinger  <jochen@chromium.org>
704
705         [chromium] ASSERT that the embedder has set a default locale
706         https://bugs.webkit.org/show_bug.cgi?id=98001
707
708         Reviewed by Adam Barth.
709
710         The callsites assume that the default language is always defined, e.g.
711         Document::getCachedLocalizer. Add an ASSERT() statement so an embedder
712         doesn't have to guess what they did wrong.
713
714         * platform/chromium/LanguageChromium.cpp:
715         (WebCore::platformLanguage):
716
717 2012-10-02  Vsevolod Vlasov  <vsevik@chromium.org>
718
719         Web Inspector: Fix JavaScriptSource error found by compiler
720         https://bugs.webkit.org/show_bug.cgi?id=98143
721
722         Reviewed by Pavel Feldman.
723
724         * inspector/front-end/JavaScriptSource.js:
725         (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
726
727 2012-10-02  Mike West  <mkwst@chromium.org>
728
729         Add call stacks to Content Security Policy checks when relevant.
730         https://bugs.webkit.org/show_bug.cgi?id=94433
731
732         Reviewed by Adam Barth.
733
734         Previously, we generated stack traces only for eval-related CSP
735         violations. As it turns out, we can call createScriptCallStack from
736         practically anywhere. This patch takes advantage of that to generate
737         stack traces whenever a warning is logged to the console. If we're in
738         a JavaScript stack, brilliant: we get a detailed warning. If not, the
739         stack trace is empty, and we don't pass it into the console logging
740         method.
741
742         This has the advantage of giving us good developer-facing logging for
743         any and all violations that result from script-based injection of
744         resources. Yay!
745
746         Tests: http/tests/inspector/csp-injected-content-warning-contains-stacktrace.html
747                http/tests/inspector/csp-inline-warning-contains-stacktrace.html
748                http/tests/inspector/csp-setInterval-warning-contains-stacktrace.html
749                http/tests/inspector/csp-setTimeout-warning-contains-stacktrace.html
750
751         * bindings/js/ScheduledAction.cpp:
752         (WebCore::ScheduledAction::create):
753             Replacing the generated stack trace with the current script state,
754             which will enable us to generate the stack trace inside
755             ContentSecurityPolicy::reportViolation if it's relevant.
756         * bindings/v8/ScriptCallStackFactory.cpp:
757         (WebCore::createScriptCallStackForConsole):
758         (WebCore):
759         * bindings/v8/ScriptCallStackFactory.h:
760         (WebCore):
761             Adding a dummy interface to createScriptCallStackForConsole that
762             allows ScriptState to be passed in, which matches JSC's interface.
763         * bindings/v8/custom/V8DOMWindowCustom.cpp:
764         (WebCore::WindowSetTimeoutImpl):
765         * bindings/v8/custom/V8WorkerContextCustom.cpp:
766         (WebCore::SetTimeoutOrInterval):
767             Dropping stack trace from call to ContentSecurityPolicy::allowEval.
768         * page/ContentSecurityPolicy.cpp:
769         (CSPDirectiveList):
770         (WebCore::CSPDirectiveList::reportViolation):
771         (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
772         (WebCore::CSPDirectiveList::allowEval):
773             Piping script state through from CSPDirectiveList::allowEval rather
774             than a full stack trace.
775         (WebCore):
776         (WebCore::isAllowedByAll):
777         (WebCore::isAllowedByAllWithState):
778         (WebCore::ContentSecurityPolicy::allowEval):
779         (WebCore::ContentSecurityPolicy::reportViolation):
780         (WebCore::ContentSecurityPolicy::logToConsole):
781             Piping script state through from ContentSecurityPolicy::allowEval
782             rather than a full stack trace. Now, we can simply generate the
783             stack trace just before logging it, and only pass it into
784             addConsoleMessage if it's non-empty.
785         * page/ContentSecurityPolicy.h:
786         (JSC):
787         (WebCore):
788             Including 'ScriptState.h' to normalize V8 and JSC's JS state objects.
789
790 2012-10-02  Pavel Feldman  <pfeldman@chromium.org>
791
792         Web Inspector: migrate from WebInspector.Foo.prototype.__proto__ = to __proto__: syntax
793         https://bugs.webkit.org/show_bug.cgi?id=98127
794
795         Reviewed by Vsevolod Vlasov.
796
797         Converted with the regex matcher.
798
799         * inspector/InjectedScriptCanvasModuleSource.js:
800         (.):
801         * inspector/compile-front-end.py:
802         * inspector/front-end/AdvancedSearchController.js:
803         (WebInspector.SearchView.prototype._onAction):
804         (WebInspector.FileBasedSearchResultsPane.prototype._createContentSpan):
805         * inspector/front-end/ApplicationCacheItemsView.js:
806         * inspector/front-end/ApplicationCacheModel.js:
807         (WebInspector.ApplicationCacheModel.prototype._networkStateUpdated):
808         * inspector/front-end/AuditCategories.js:
809         (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
810         (WebInspector.AuditCategories.NetworkUtilization.prototype.initialize):
811         * inspector/front-end/AuditLauncherView.js:
812         (WebInspector.AuditLauncherView.prototype._updateButton):
813         * inspector/front-end/AuditResultView.js:
814         (WebInspector.AuditCategoryResultPane.prototype._appendResult):
815         * inspector/front-end/AuditRules.js:
816         (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
817         (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
818         (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
819         (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
820         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
821         (WebInspector.AuditRules.CacheControlRule.prototype.isCacheableResource):
822         (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneYearExpirationCheck):
823         (WebInspector.AuditRules.ProxyCacheControlRule.prototype._setCookieCacheableCheck):
824         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
825         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
826         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
827         (WebInspector.AuditRules.CSSRuleBase.prototype.visitProperty):
828         (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitProperty):
829         (WebInspector.AuditRules.CookieRuleBase.prototype._callbackForResourceCookiePairs):
830         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
831         (WebInspector.AuditRules.StaticCookielessRule.prototype._collectorCallback):
832         * inspector/front-end/AuditsPanel.js:
833         (WebInspector.AuditsPanel.prototype._clearButtonClicked):
834         (WebInspector.AuditsSidebarTreeElement.prototype.refresh):
835         (WebInspector.AuditResultSidebarTreeElement.prototype.get selectable):
836         * inspector/front-end/BottomUpProfileDataGridTree.js:
837         (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren):
838         * inspector/front-end/BreakpointManager.js:
839         (WebInspector.BreakpointManager.prototype._uiLocationRemoved):
840         * inspector/front-end/BreakpointsSidebarPane.js:
841         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.reset):
842         (WebInspector.XHRBreakpointsSidebarPane.prototype.set _restoreBreakpoints):
843         (WebInspector.EventListenerBreakpointsSidebarPane.prototype.set _restoreBreakpoints):
844         * inspector/front-end/CPUProfileView.js:
845         (WebInspector.CPUProfileView.prototype._assignParentsInProfile):
846         (WebInspector.CPUProfileType.prototype.createProfile):
847         (WebInspector.CPUProfileHeader.prototype.createView):
848         * inspector/front-end/CSSNamedFlowCollectionsView.js:
849         (WebInspector.CSSNamedFlowCollectionsView.prototype.willHide):
850         (WebInspector.FlowTreeElement.prototype.setOverset):
851         * inspector/front-end/CSSNamedFlowView.js:
852         (WebInspector.CSSNamedFlowView.prototype._update):
853         * inspector/front-end/CSSSelectorProfileView.js:
854         (WebInspector.CSSSelectorDataGridNode.prototype.createCell):
855         (WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile):
856         (WebInspector.CSSProfileHeader.prototype.createView):
857         * inspector/front-end/CSSStyleModel.js:
858         (WebInspector.CSSStyleModel.prototype._rawLocationToUILocation):
859         * inspector/front-end/CallStackSidebarPane.js:
860         (WebInspector.CallStackSidebarPane.prototype._keyDown):
861         (WebInspector.CallStackSidebarPane.Placard.prototype._restartFrame):
862         * inspector/front-end/CanvasProfileView.js:
863         (WebInspector.CanvasProfileView.prototype._onTraceLogItemClick):
864         (WebInspector.CanvasProfileType.prototype.createProfile):
865         (WebInspector.CanvasProfileHeader.prototype.createView):
866         * inspector/front-end/CodeMirrorTextEditor.js:
867         (WebInspector.CodeMirrorTextEditor.prototype._toRange):
868         * inspector/front-end/ConsoleMessage.js:
869         (WebInspector.ConsoleMessageImpl.prototype.clone):
870         * inspector/front-end/ConsoleModel.js:
871         (WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
872         * inspector/front-end/ConsolePanel.js:
873         (WebInspector.ConsolePanel.prototype._consoleCleared):
874         * inspector/front-end/ConsoleView.js:
875         (WebInspector.ConsoleView.prototype._dumpMemory):
876         (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
877         * inspector/front-end/ContentProviders.js:
878         (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
879         (WebInspector.CompilerSourceMappingContentProvider.prototype.searchInContent):
880         (WebInspector.StaticContentProvider.prototype.searchInContent):
881         * inspector/front-end/ContextMenu.js:
882         (WebInspector.ContextSubMenuItem.prototype._buildDescriptor):
883         (WebInspector.ContextMenu.prototype.appendApplicableItems):
884         * inspector/front-end/CookieItemsView.js:
885         (WebInspector.CookieItemsView.prototype._contextMenu):
886         (WebInspector.SimpleCookiesTable.prototype.setCookies):
887         * inspector/front-end/CookiesTable.js:
888         (WebInspector.CookiesTable.prototype._onDeleteFromGrid):
889         * inspector/front-end/DOMAgent.js:
890         (WebInspector.DOMAgent.prototype.redo):
891         * inspector/front-end/DOMBreakpointsSidebarPane.js:
892         (WebInspector.DOMBreakpointsSidebarPane.prototype.set restoreBreakpoints):
893         * inspector/front-end/DOMStorage.js:
894         (WebInspector.DOMStorageModel.prototype.storages):
895         * inspector/front-end/DOMStorageItemsView.js:
896         (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
897         * inspector/front-end/DataGrid.js:
898         (WebInspector.DataGridNode.prototype.restorePosition):
899         (WebInspector.CreationDataGridNode.prototype.makeNormal):
900         * inspector/front-end/Database.js:
901         (WebInspector.DatabaseModel.prototype._addDatabase):
902         * inspector/front-end/DatabaseQueryView.js:
903         (WebInspector.DatabaseQueryView.prototype._appendQueryResult):
904         * inspector/front-end/DatabaseTableView.js:
905         (WebInspector.DatabaseTableView.prototype._refreshButtonClicked):
906         * inspector/front-end/DebuggerModel.js:
907         (WebInspector.DebuggerModel.prototype.callStackModified):
908         * inspector/front-end/DefaultTextEditor.js:
909         (WebInspector.DefaultTextEditor.prototype.willHide):
910         (WebInspector.TextEditorGutterPanel.prototype.removeDecoration):
911         (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
912         * inspector/front-end/Dialog.js:
913         (WebInspector.DialogDelegate.prototype.willHide):
914         * inspector/front-end/DirectoryContentView.js:
915         (WebInspector.DirectoryContentView.prototype._sort):
916         (WebInspector.DirectoryContentView.Node.prototype._metadataReceived):
917         * inspector/front-end/ElementsPanel.js:
918         (WebInspector.ElementsPanel.prototype.appendApplicableItems):
919         * inspector/front-end/ElementsPanelDescriptor.js:
920         (WebInspector.ElementsPanelDescriptor.prototype.appendApplicableItems):
921         * inspector/front-end/ElementsTreeOutline.js:
922         (WebInspector.ElementsTreeOutline.prototype._selectNodeAfterEdit):
923         (WebInspector.ElementsTreeOutline.PseudoStateDecorator.prototype.decorateAncestor):
924         * inspector/front-end/EmptyView.js:
925         * inspector/front-end/EventListenersSidebarPane.js:
926         (WebInspector.EventListenersSidebarPane.prototype):
927         * inspector/front-end/ExtensionAPI.js:
928         (injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane):
929         (injectedExtensionAPI.ExtensionPanelImpl.prototype.show):
930         * inspector/front-end/ExtensionPanel.js:
931         (WebInspector.ExtensionPanel.prototype.jumpToPreviousSearchResult):
932         (WebInspector.ExtensionSidebarPane.prototype._setObject):
933         * inspector/front-end/ExtensionView.js:
934         (WebInspector.ExtensionView.prototype._onLoad):
935         (WebInspector.ExtensionNotifierView.prototype.willHide):
936         * inspector/front-end/FileContentView.js:
937         (WebInspector.FileContentView.prototype.refresh):
938         * inspector/front-end/FileManager.js:
939         (WebInspector.FileManager.prototype.appendedToURL):
940         * inspector/front-end/FileSystemModel.js:
941         (WebInspector.FileSystemModel.prototype._removeFileSystem):
942         (WebInspector.FileSystemModel.Directory.prototype.requestDirectoryContent):
943         (WebInspector.FileSystemModel.File.prototype.requestFileContent):
944         * inspector/front-end/FileSystemView.js:
945         (WebInspector.FileSystemView.prototype._delete):
946         (WebInspector.FileSystemView.EntryTreeElement.prototype._deletionCompleted):
947         * inspector/front-end/FilteredItemSelectionDialog.js:
948         (WebInspector.FilteredItemSelectionDialog.prototype._itemElementInViewport):
949         (WebInspector.JavaScriptOutlineDialog.prototype.rewriteQuery):
950         (WebInspector.OpenResourceDialog.prototype.rewriteQuery):
951         * inspector/front-end/FontView.js:
952         (WebInspector.FontView.prototype.updateFontPreviewSize):
953         * inspector/front-end/GoToLineDialog.js:
954         (WebInspector.GoToLineDialog.prototype.onEnter):
955         * inspector/front-end/HandlerRegistry.js:
956         (WebInspector.HandlerRegistry.prototype._appendHrefItems):
957         * inspector/front-end/HeapSnapshot.js:
958         (WebInspector.HeapSnapshotEdgesProvider.prototype.sort):
959         (WebInspector.HeapSnapshotNodesProvider.prototype.sort):
960         * inspector/front-end/HeapSnapshotDataGrids.js:
961         (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
962         (WebInspector.HeapSnapshotViewportDataGrid.prototype._onScroll):
963         (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
964         (WebInspector.HeapSnapshotDiffDataGrid.prototype._populateChildren):
965         (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.highlightObjectByHeapSnapshotId):
966         * inspector/front-end/HeapSnapshotGridNodes.js:
967         (WebInspector.HeapSnapshotGridNode.prototype.sort):
968         (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
969         (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
970         (WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode):
971         (WebInspector.HeapSnapshotConstructorNode.prototype.get _shallowSizePercent):
972         (WebInspector.HeapSnapshotDiffNode.prototype.get data):
973         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._emptyData):
974         * inspector/front-end/HeapSnapshotProxy.js:
975         (WebInspector.HeapSnapshotWorkerWrapper.prototype.terminate):
976         (WebInspector.HeapSnapshotRealWorker.prototype.terminate):
977         (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):
978         (WebInspector.HeapSnapshotWorker.prototype._postMessage):
979         (WebInspector.HeapSnapshotLoaderProxy.prototype.close):
980         (WebInspector.HeapSnapshotProxy.prototype.get uid):
981         (WebInspector.HeapSnapshotProviderProxy.prototype.sortAndRewind):
982         * inspector/front-end/HeapSnapshotView.js:
983         (WebInspector.HeapSnapshotView.prototype._updateFilterOptions):
984         (WebInspector.HeapSnapshotProfileType.prototype.createProfile):
985         (WebInspector.HeapProfileHeader.prototype._createFileReader):
986         * inspector/front-end/HelpScreen.js:
987         (WebInspector.HelpScreen.prototype._onBlur):
988         * inspector/front-end/ImageView.js:
989         (WebInspector.ImageView.prototype._openInNewTab):
990         * inspector/front-end/IndexedDBModel.js:
991         (WebInspector.IndexedDBModel.prototype._requestData):
992         * inspector/front-end/IndexedDBViews.js:
993         (WebInspector.IDBDataView.prototype.clear):
994         (WebInspector.IDBDataGridNode.prototype._formatValue):
995         * inspector/front-end/InspectorFrontendHostStub.js:
996         (.WebInspector.ClipboardAccessDeniedScreen):
997         * inspector/front-end/InspectorView.js:
998         (WebInspector.InspectorView.prototype.showPanelForAnchorNavigation):
999         * inspector/front-end/JavaScriptSource.js:
1000         (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
1001         * inspector/front-end/JavaScriptSourceFrame.js:
1002         (WebInspector.JavaScriptSourceFrame.prototype._continueToLine):
1003         * inspector/front-end/Linkifier.js:
1004         (WebInspector.Linkifier.DefaultFormatter.prototype.formatLiveAnchor):
1005         * inspector/front-end/MemoryStatistics.js:
1006         (WebInspector.SwatchCheckbox.prototype._toggleCheckbox):
1007         * inspector/front-end/MetricsSidebarPane.js:
1008         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
1009         * inspector/front-end/NativeBreakpointsSidebarPane.js:
1010         (WebInspector.NativeBreakpointsSidebarPane.prototype._reset):
1011         * inspector/front-end/NativeMemorySnapshotView.js:
1012         (WebInspector.NativeMemorySnapshotView.prototype.get profile):
1013         (WebInspector.NativeMemoryProfileType.prototype.createProfile):
1014         (WebInspector.NativeMemoryProfileHeader.prototype.createView):
1015         (WebInspector.NativeMemoryPieChart.prototype._clear):
1016         (WebInspector.NativeMemoryBarChart.prototype._updateView):
1017         * inspector/front-end/NavigatorView.js:
1018         (WebInspector.NavigatorView.prototype.handleContextMenu):
1019         (WebInspector.NavigatorTreeOutline.prototype.searchFinished):
1020         (WebInspector.BaseNavigatorTreeElement.prototype.matchesSearchText):
1021         (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
1022         (WebInspector.NavigatorSourceTreeElement.prototype._handleContextMenuEvent):
1023         * inspector/front-end/NetworkItemView.js:
1024         (WebInspector.NetworkItemView.prototype.set request):
1025         (WebInspector.RequestContentView.prototype.highlightLine):
1026         * inspector/front-end/NetworkManager.js:
1027         (WebInspector.NetworkManager.prototype._userAgentSettingChanged):
1028         * inspector/front-end/NetworkPanel.js:
1029         (WebInspector.NetworkLogView.prototype._highlightNode):
1030         (WebInspector.NetworkPanel.prototype.appendApplicableItems):
1031         (WebInspector.NetworkTimeCalculator.prototype._upperBound):
1032         (WebInspector.NetworkTransferTimeCalculator.prototype._upperBound):
1033         (WebInspector.NetworkTransferDurationCalculator.prototype._upperBound):
1034         (WebInspector.NetworkDataGridNode.prototype._refreshLabelPositions):
1035         (WebInspector.NetworkDataGridNode.RequestPropertyComparator):
1036         * inspector/front-end/NetworkPanelDescriptor.js:
1037         (WebInspector.NetworkPanelDescriptor.prototype.appendApplicableItems):
1038         * inspector/front-end/NetworkRequest.js:
1039         (WebInspector.NetworkRequest.prototype._pushFrame):
1040         * inspector/front-end/ObjectPopoverHelper.js:
1041         (WebInspector.ObjectPopoverHelper.prototype._updateHTMLId):
1042         * inspector/front-end/ObjectPropertiesSection.js:
1043         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
1044         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
1045         (WebInspector.FunctionScopeMainTreeElement.prototype.onpopulate):
1046         (WebInspector.ScopeTreeElement.prototype.onpopulate):
1047         (WebInspector.ArrayGroupingTreeElement.prototype.onattach):
1048         * inspector/front-end/Panel.js:
1049         (WebInspector.Panel.prototype.unregisterShortcut):
1050         * inspector/front-end/PanelEnablerView.js:
1051         (WebInspector.PanelEnablerView.prototype.get alwaysEnabled):
1052         * inspector/front-end/ProfileDataGridTree.js:
1053         (WebInspector.ProfileDataGridNode.prototype._merge):
1054         * inspector/front-end/ProfileLauncherView.js:
1055         (WebInspector.ProfileLauncherView.prototype.profileFinished):
1056         * inspector/front-end/ProfilesPanel.js:
1057         (WebInspector.ProfilesPanel.prototype.appendApplicableItems):
1058         (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
1059         (WebInspector.ProfileGroupSidebarTreeElement.prototype.onselect):
1060         (WebInspector.ProfilesSidebarTreeElement.prototype.get selectable):
1061         * inspector/front-end/ProgressIndicator.js:
1062         (WebInspector.ProgressIndicator.prototype.worked):
1063         * inspector/front-end/PropertiesSection.js:
1064         * inspector/front-end/PropertiesSidebarPane.js:
1065         (WebInspector.PropertiesSidebarPane.prototype.update):
1066         * inspector/front-end/RequestCookiesView.js:
1067         (WebInspector.RequestCookiesView.prototype._refreshCookies):
1068         * inspector/front-end/RequestHTMLView.js:
1069         (WebInspector.RequestHTMLView.prototype._createIFrame):
1070         * inspector/front-end/RequestHeadersView.js:
1071         (WebInspector.RequestHeadersView.prototype._createHeadersToggleButton):
1072         * inspector/front-end/RequestJSONView.js:
1073         (WebInspector.RequestJSONView.parseJSON.WebInspector.RequestJSONView.prototype._initialize):
1074         * inspector/front-end/RequestPreviewView.js:
1075         (WebInspector.RequestPreviewView.prototype._createPreviewView):
1076         * inspector/front-end/RequestResponseView.js:
1077         (WebInspector.RequestResponseView.prototype.contentLoaded):
1078         * inspector/front-end/RequestTimingView.js:
1079         (WebInspector.RequestTimingView.prototype._refresh):
1080         (WebInspector.RequestTimingView.createTimingTable):
1081         * inspector/front-end/RequestView.js:
1082         (WebInspector.RequestView.prototype.hasContent):
1083         * inspector/front-end/Resource.js:
1084         (WebInspector.Resource.prototype.isHidden):
1085         * inspector/front-end/ResourceTreeModel.js:
1086         (WebInspector.ResourceTreeModel.prototype._createResourceFromFramePayload):
1087         * inspector/front-end/ResourceView.js:
1088         (WebInspector.ResourceView.prototype.hasContent):
1089         (WebInspector.ResourceSourceFrame.prototype.populateTextAreaContextMenu):
1090         * inspector/front-end/ResourceWebSocketFrameView.js:
1091         * inspector/front-end/ResourcesPanel.js:
1092         (WebInspector.ResourcesPanel.prototype._onmouseout):
1093         (WebInspector.BaseStorageTreeElement.prototype.get searchMatchesCount):
1094         (WebInspector.StorageCategoryTreeElement.prototype.set oncollapse):
1095         (WebInspector.FrameTreeElement.prototype._insertInPresentationOrder):
1096         (WebInspector.FrameResourceTreeElement.prototype.sourceView):
1097         (WebInspector.DatabaseTreeElement.prototype._updateChildren):
1098         (WebInspector.DatabaseTableTreeElement.prototype.onselect):
1099         (WebInspector.IndexedDBTreeElement.prototype._idbDatabaseTreeElement):
1100         (WebInspector.FileSystemListTreeElement.prototype._refreshFileSystem):
1101         (WebInspector.IDBDatabaseTreeElement.prototype.clear):
1102         (WebInspector.IDBObjectStoreTreeElement.prototype.clear):
1103         (WebInspector.IDBIndexTreeElement.prototype.clear):
1104         (WebInspector.DOMStorageTreeElement.prototype.onselect):
1105         (WebInspector.CookieTreeElement.prototype.onselect):
1106         (WebInspector.ApplicationCacheManifestTreeElement.prototype.onselect):
1107         (WebInspector.ApplicationCacheFrameTreeElement.prototype.onselect):
1108         (WebInspector.FileSystemTreeElement.prototype.clear):
1109         (WebInspector.StorageCategoryView.prototype.setText):
1110         * inspector/front-end/RevisionHistoryView.js:
1111         (WebInspector.RevisionHistoryView.prototype._reset):
1112         (WebInspector.RevisionHistoryTreeElement.prototype.allowRevert):
1113         * inspector/front-end/RuntimeModel.js:
1114         (WebInspector.RuntimeModel.prototype._reportCompletions):
1115         (WebInspector.FrameExecutionContextList.prototype.get displayName):
1116         * inspector/front-end/ScopeChainSidebarPane.js:
1117         (WebInspector.ScopeChainSidebarPane.prototype.update):
1118         (WebInspector.ScopeVariableTreeElement.prototype.get propertyPath):
1119         * inspector/front-end/Script.js:
1120         (WebInspector.Script.Location.prototype.dispose):
1121         * inspector/front-end/ScriptFormatterWorker.js:
1122         (HTMLScriptFormatter.prototype.styleSheetEnded):
1123         * inspector/front-end/ScriptSnippetModel.js:
1124         (WebInspector.ScriptSnippetModel.prototype._projectDidReset):
1125         (WebInspector.SnippetJavaScriptSource.prototype.workingCopyChanged):
1126         * inspector/front-end/ScriptsNavigator.js:
1127         (WebInspector.ScriptsNavigator.prototype.reset):
1128         (WebInspector.SnippetsNavigatorView.prototype._snippetCreationRequested):
1129         * inspector/front-end/ScriptsPanel.js:
1130         (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
1131         * inspector/front-end/ScriptsPanelDescriptor.js:
1132         (WebInspector.ScriptsPanelDescriptor.prototype.appendApplicableItems):
1133         * inspector/front-end/ScriptsSearchScope.js:
1134         (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):
1135         * inspector/front-end/SettingsScreen.js:
1136         (WebInspector.SettingsScreen.prototype.willHide):
1137         (WebInspector.SettingsTab.prototype._createCustomSetting):
1138         (WebInspector.GenericSettingsTab.prototype._javaScriptDisabledChanged):
1139         (WebInspector.UserAgentSettingsTab.prototype._createDeviceOrientationOverrideElement):
1140         (WebInspector.ExperimentsSettingsTab.prototype._createExperimentCheckbox):
1141         * inspector/front-end/ShowMoreDataGridNode.js:
1142         (WebInspector.ShowMoreDataGridNode.prototype.dispose):
1143         * inspector/front-end/SidebarPane.js:
1144         (WebInspector.SidebarPane.prototype._onTitleKeyDown):
1145         * inspector/front-end/SidebarTreeElement.js:
1146         (WebInspector.SidebarSectionTreeElement.prototype.onreveal):
1147         (WebInspector.SidebarTreeElement.prototype.onreveal):
1148         * inspector/front-end/SnippetJavaScriptSourceFrame.js:
1149         (WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):
1150         * inspector/front-end/SnippetStorage.js:
1151         (WebInspector.Snippet.prototype.serializeToObject):
1152         * inspector/front-end/SourceCSSTokenizer.js:
1153         (WebInspector.SourceCSSTokenizer.prototype.nextToken):
1154         * inspector/front-end/SourceCSSTokenizer.re2js:
1155         * inspector/front-end/SourceFrame.js:
1156         (WebInspector.SourceFrame.prototype._commitEditing):
1157         (WebInspector.TextEditorDelegateForSourceFrame.prototype.createLink):
1158         * inspector/front-end/SourceHTMLTokenizer.js:
1159         (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
1160         * inspector/front-end/SourceHTMLTokenizer.re2js:
1161         * inspector/front-end/SourceJavaScriptTokenizer.js:
1162         (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
1163         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
1164         * inspector/front-end/Spectrum.js:
1165         (WebInspector.Spectrum.prototype._onKeyDown):
1166         * inspector/front-end/SplitView.js:
1167         (WebInspector.SplitView.prototype.set elementsToRestoreScrollPositionsFor):
1168         * inspector/front-end/StatusBarButton.js:
1169         (WebInspector.StatusBarButton.prototype._showOptions):
1170         * inspector/front-end/StyleSheetOutlineDialog.js:
1171         (WebInspector.StyleSheetOutlineDialog.prototype.rewriteQuery):
1172         * inspector/front-end/StyleSource.js:
1173         (WebInspector.StyleSource.prototype._clearIncrementalUpdateTimer):
1174         * inspector/front-end/StylesSidebarPane.js:
1175         (WebInspector.StylesSidebarPane.prototype.willHide):
1176         (WebInspector.ComputedStyleSidebarPane.prototype.expand):
1177         (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
1178         (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
1179         (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
1180         (WebInspector.StylePropertyTreeElement.prototype):
1181         * inspector/front-end/TabbedEditorContainer.js:
1182         (WebInspector.TabbedEditorContainer.prototype.currentFile):
1183         (WebInspector.TabbedEditorContainer.HistoryItem.prototype.serializeToObject):
1184         (WebInspector.TabbedEditorContainer.History.prototype.set _serializeToObject):
1185         * inspector/front-end/TabbedPane.js:
1186         (WebInspector.TabbedPane.prototype._insertBefore):
1187         * inspector/front-end/TextEditorModel.js:
1188         (WebInspector.TextEditorModel.endsWithBracketRegex.):
1189         * inspector/front-end/TextPrompt.js:
1190         (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
1191         * inspector/front-end/TimelineManager.js:
1192         (WebInspector.TimelineManager.prototype._stopped):
1193         * inspector/front-end/TimelineModel.js:
1194         (WebInspector.TimelineModel.prototype.recordOffsetInSeconds):
1195         * inspector/front-end/TimelineOverviewPane.js:
1196         (WebInspector.TimelineOverviewPane.prototype._scheduleRefresh):
1197         (WebInspector.TimelineOverviewWindow.prototype._zoom):
1198         (WebInspector.TimelineFrameOverview.prototype.getWindowTimes):
1199         * inspector/front-end/TimelinePanel.js:
1200         (WebInspector.TimelinePanel.prototype.performSearch):
1201         * inspector/front-end/TimelinePresentationModel.js:
1202         (WebInspector.TimelinePresentationModel.prototype.isVisible):
1203         (WebInspector.TimelineCategory.prototype.set hidden):
1204         * inspector/front-end/TopDownProfileDataGridTree.js:
1205         (WebInspector.TopDownProfileDataGridNode.prototype._exclude):
1206         * inspector/front-end/UISourceCode.js:
1207         (WebInspector.UISourceCode.prototype.setSourceMapping):
1208         * inspector/front-end/UISourceCodeFrame.js:
1209         (WebInspector.UISourceCodeFrame.prototype.populateTextAreaContextMenu):
1210         * inspector/front-end/View.js:
1211         (WebInspector.View.prototype.focus):
1212         * inspector/front-end/WatchExpressionsSidebarPane.js:
1213         (WebInspector.WatchExpressionsSidebarPane.prototype._refreshButtonClicked):
1214         (WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):
1215         (WebInspector.WatchExpressionTreeElement.prototype.applyExpression):
1216         * inspector/front-end/WorkerManager.js:
1217         (WebInspector.WorkerManager.prototype._disconnectedFromWorker):
1218         (WebInspector.WorkerTerminatedScreen.prototype.willHide):
1219         * inspector/front-end/WorkersSidebarPane.js:
1220         (WebInspector.WorkersSidebarPane.prototype._autoattachToWorkersClicked):
1221         * inspector/front-end/Workspace.js:
1222         (WebInspector.Workspace.prototype.uiSourceCodes):
1223
1224 2012-10-02  Vsevolod Vlasov  <vsevik@chromium.org>
1225
1226         Unreviewed r130146 follow-up, added method was not called.
1227
1228         * inspector/front-end/JavaScriptSource.js:
1229         (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
1230
1231 2012-10-02  Yoshifumi Inoue  <yosin@chromium.org>
1232
1233         [Forms] Multiple fields datetime/datetime-local input UI
1234         https://bugs.webkit.org/show_bug.cgi?id=97997
1235
1236         Reviewed by Kent Tamura.
1237
1238         This patch introduces multiple fields "datetime" and "datetime-local"
1239         input UI in DRT. We'll enable these features once we add tests.
1240
1241         No new tests. To reduce size of this patch, other patches add tests
1242         for multiple fields datetime/datetime-local input UI.
1243
1244         Note: Actual outputs of four tests
1245           - fast/forms/datetime/datetime-input-visible-string.html
1246           - fast/forms/datetime/datetime-stepup-stepdown-from-renderer.html
1247           - fast/forms/datetimelocal/datetimelocal-input-visible-string.html
1248           - fast/forms/datetimelocal/datetimelocal-stepup-stepdown-from-renderer.html
1249         are different.
1250
1251         * bindings/generic/RuntimeEnabledFeatures.cpp:
1252         (WebCore):
1253         * css/html.css:
1254         (input::-webkit-datetime-edit-day-field): Added for field appearance.
1255         (input::-webkit-datetime-edit-day-field:focus):  Added to remove focus ring.
1256         * html/DateTimeInputType.cpp:
1257         (WebCore::DateTimeInputType::formatDateTimeFieldsState): Added to format numeric value to string value as specified in HTML5 specification.
1258         (WebCore::DateTimeInputType::setupLayoutParameters): Added to set layout of multiple fields.
1259         * html/DateTimeInputType.h: Changed to include BaseMultipleFieldsDateAndTimeInputType.h and introduce BaseDateTimeInputType typedef.
1260         (WebCore::DateTimeInputType::DateTimeInputType): Changed base class name to BaseDateTimeInputType.
1261         (DateTimeInputType): Changed to add declarations for formatDateTimeFieldsState() and setupLayoutParameters().
1262         * html/DateTimeLocalInputType.cpp:
1263         (WebCore::DateTimeLocalInputType::formatDateTimeFieldsState): Added to format numeric value to string value as specified in HTML5 specification.
1264         (WebCore::DateTimeLocalInputType::setupLayoutParameters):  Added to set layout of multiple fields.
1265         * html/DateTimeLocalInputType.h: Changed to include BaseMultipleFieldsDateAndTimeInputType.h and introduce BaseDateTimeLocalInputType typedef.
1266         (WebCore::DateTimeLocalInputType::DateTimeLocalInputType): Changed base class name to BaseDateTimeLocalInputType.
1267         (DateTimeLocalInputType): Changed to add declarations for formatDateTimeFieldsState() and setupLayoutParameters().
1268         * html/shadow/DateTimeEditElement.cpp:
1269         (DateTimeEditBuilder): Changed to add member variable m_placeholderForDay.
1270         (WebCore::DateTimeEditBuilder::DateTimeEditBuilder): Changed to initialize m_placeholderForDay.
1271         (WebCore::DateTimeEditBuilder::visitField): Changed to support week field.
1272         * html/shadow/DateTimeEditElement.h:
1273         (LayoutParameters): Changed to add placeholderForDay member variable.
1274
1275 2012-10-02  Vsevolod Vlasov  <vsevik@chromium.org>
1276
1277         Web Inspector: [Regression] Breakpoints restored from storage are not set in debugger.
1278         https://bugs.webkit.org/show_bug.cgi?id=98132
1279
1280         Reviewed by Pavel Feldman.
1281
1282         Added hasDivergedFromVM attribute to UISourceCode for breakpoint
1283         manager to know if breakpoints should be set in the debugger.
1284
1285         * inspector/front-end/BreakpointManager.js:
1286         (WebInspector.BreakpointManager.hasDivergedFromVM):
1287         (WebInspector.BreakpointManager.Breakpoint.prototype._updateBreakpoint):
1288         * inspector/front-end/JavaScriptSource.js:
1289         (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
1290         * inspector/front-end/ScriptSnippetModel.js:
1291         (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
1292
1293 2012-09-29  Ilya Tikhonovsky  <loislo@chromium.org>
1294
1295         Web Inspector: NMI make String* instrumentation non intrusive
1296         https://bugs.webkit.org/show_bug.cgi?id=97964
1297
1298         Reviewed by Yury Semikhatsky.
1299
1300         MemoryInstrumentationString.h include was added.
1301
1302         * dom/WebCoreMemoryInstrumentation.h:
1303
1304 2012-10-02  Vsevolod Vlasov  <vsevik@chromium.org>
1305
1306         Web Inspector: inspector/debugger/script-snippet-model.html fails
1307         https://bugs.webkit.org/show_bug.cgi?id=98129
1308
1309         Reviewed by Pavel Feldman.
1310
1311         * inspector/front-end/ScriptSnippetModel.js:
1312         (WebInspector.ScriptSnippetModel.prototype._runScript):
1313         (WebInspector.ScriptSnippetModel.prototype._printRunScriptResult):
1314
1315 2012-10-02  Yury Semikhatsky  <yurys@chromium.org>
1316
1317         Remove anonymous namespace from StyleBuilder.cpp for better debugging experience
1318         https://bugs.webkit.org/show_bug.cgi?id=98124
1319
1320         Reviewed by Alexander Pavlov.
1321
1322         * css/StyleBuilder.cpp: removed anonymous namespace.
1323         (WebCore):
1324
1325 2012-10-02  Nikita Vasilyev  <me@elv1s.ru>
1326
1327         Web Inspector: CSS property names autocomplete: Suggest most used rather than alphabeticaly first
1328         https://bugs.webkit.org/show_bug.cgi?id=96763
1329
1330         Reviewed by Alexander Pavlov.
1331
1332         Implement selection of non-first item in WebInspector.TextPrompt.SuggestBox.
1333
1334         * inspector/front-end/CSSCompletions.js:
1335         (WebInspector.CSSCompletions.Weight): Collect most used CSS property names. Rarely used properties are not presented.
1336         (WebInspector.CSSCompletions.prototype.firstStartsWith): Remove unused function.
1337         (WebInspector.CSSCompletions.prototype.mostUsedOf):
1338         * inspector/front-end/StylesSidebarPane.js:
1339         * inspector/front-end/TextPrompt.js:
1340         (WebInspector.TextPrompt.prototype._completionsReady):
1341         (WebInspector.TextPrompt.prototype.pageDownKeyPressed):
1342         (WebInspector.TextPrompt.SuggestBox): Introduce _length and _selectedIndex to remove unnecessary DOM traversals.
1343             Simplify canShowForSingleItem logic.
1344         (WebInspector.TextPrompt.SuggestBox.prototype._selectClosest): _onPreviousItem and _onNextItem had some logic 
1345             duplication so I replaced them with this method.
1346         (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
1347         (WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
1348         (WebInspector.TextPrompt.SuggestBox.prototype._selectItem):
1349         (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
1350         (WebInspector.TextPrompt.SuggestBox.prototype.upKeyPressed):
1351         (WebInspector.TextPrompt.SuggestBox.prototype.downKeyPressed):
1352         (WebInspector.TextPrompt.SuggestBox.prototype.pageUpKeyPressed):
1353         (WebInspector.TextPrompt.SuggestBox.prototype.pageDownKeyPressed):
1354
1355 2012-10-02  Keishi Hattori  <keishi@webkit.org>
1356
1357         Web Inspector: Modifications in a shadow tree don't update the Elements panel.
1358         https://bugs.webkit.org/show_bug.cgi?id=97056
1359
1360         Reviewed by Pavel Feldman.
1361
1362         Send characterDataModified event for shadow dom nodes too so they update the elements panel.
1363
1364         Test: inspector/elements/shadow-dom-modify-chardata.html
1365
1366         * dom/CharacterData.cpp:
1367         (WebCore::CharacterData::dispatchModifiedEvent):
1368
1369 2012-09-20  Vsevolod Vlasov  <vsevik@chromium.org>
1370
1371         Web Inspector: Provide a way to distinguish scripts having sourceURL from standalone scripts.
1372         https://bugs.webkit.org/show_bug.cgi?id=97231
1373
1374         Reviewed by Pavel Feldman.
1375
1376         DebuggerAgent now scans scripts for sourceURL comment and provides
1377         hasSourceURL flag for each non-inline script with such a comment.
1378
1379         * bindings/js/ScriptDebugServer.cpp:
1380         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1381         * inspector/Inspector.json:
1382         * inspector/InspectorDebuggerAgent.cpp:
1383         (WebCore::InspectorDebuggerAgent::didParseSource):
1384         * inspector/front-end/DebuggerModel.js:
1385         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
1386         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
1387         * inspector/front-end/Script.js:
1388         (WebInspector.Script):
1389
1390 2012-10-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1391
1392         Unreviewed, rolling out r130129.
1393         http://trac.webkit.org/changeset/130129
1394         https://bugs.webkit.org/show_bug.cgi?id=98125
1395
1396         broke 4 webkit_unit_tests
1397         (MemoryInstrumentationTest.hashMapWith*) (Requested by caseq
1398         on #webkit).
1399
1400         * dom/WebCoreMemoryInstrumentation.h:
1401         * platform/KURL.cpp:
1402         * platform/KURLGoogle.cpp:
1403         * platform/PlatformMemoryInstrumentation.h:
1404
1405 2012-10-02  Pavel Feldman  <pfeldman@chromium.org>
1406
1407         Web Inspector: move runScript into the snippets model
1408         https://bugs.webkit.org/show_bug.cgi?id=98122
1409
1410         Reviewed by Vsevolod Vlasov.
1411
1412         - Moves runScript into the SnippetsModel
1413         - Drive-by: annotates more RuntimeModel methods
1414         - common, sdk, ui, components, elements, network, resources, network,
1415           scripts, console, timeline, workers, tests
1416           modules now compile with no errors in dedicated compilation mode.
1417
1418         * inspector/compile-front-end.py:
1419         * inspector/front-end/ConsoleView.js:
1420         * inspector/front-end/DatabaseQueryView.js:
1421         * inspector/front-end/RuntimeModel.js:
1422         (WebInspector.RuntimeModel.prototype.completionsForTextPrompt):
1423         * inspector/front-end/ScriptSnippetModel.js:
1424         (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet.compileCallback):
1425         (WebInspector.ScriptSnippetModel.prototype.evaluateScriptSnippet):
1426         (WebInspector.ScriptSnippetModel.prototype._runScript):
1427         * inspector/front-end/StylesSidebarPane.js:
1428         * inspector/front-end/TextPrompt.js:
1429         (WebInspector.TextPrompt.prototype.complete):
1430         * inspector/front-end/externs.js:
1431
1432 2012-10-02  Yoshifumi Inoue  <yosin@chromium.org>
1433
1434         [Forms] Adding DateTimeDayFieldElement for multiple fields "date", "datetime", "datetime-local" input UI
1435         https://bugs.webkit.org/show_bug.cgi?id=97998
1436
1437         Reviewed by Kent Tamura.
1438
1439         This patch introduces DateTimeDayFieldElement class for implementing
1440         multiple fields "date", "datetime", and "datetime-local" input UI.
1441
1442         No new tests. This patch doesn't change behavior.
1443
1444         * html/shadow/DateTimeFieldElements.cpp:
1445         (WebCore::DateTimeDayFieldElement::DateTimeDayFieldElement): Added.
1446         (WebCore::DateTimeDayFieldElement::create): Added.
1447         (WebCore::DateTimeDayFieldElement::populateDateTimeFieldsState): Added.
1448         (WebCore::DateTimeDayFieldElement::setValueAsDate): Added.
1449         (WebCore::DateTimeDayFieldElement::setValueAsDateTimeFieldsState): Added.
1450         * html/shadow/DateTimeFieldElements.h:
1451         (DateTimeDayFieldElement): Added.
1452
1453 2012-10-02  Yoshifumi Inoue  <yosin@chromium.org>
1454
1455         LocalzeNone::dateFormat() should have right date format.
1456         https://bugs.webkit.org/show_bug.cgi?id=98123
1457
1458         Reviewed by Kent Tamura.
1459
1460         This patch changes date format in LocaleNone for multiple fields
1461         date/datetime/datetime-local input UI.
1462
1463         No new tests. Other patch for ports which use LocaleNone and multiple
1464         fields date/time input UI will have tests.
1465
1466         * platform/text/LocaleNone.cpp:
1467         (WebCore::LocaleNone::dateFormat): Changed month specifier to "MM".
1468
1469 2012-10-02  Pavel Feldman  <pfeldman@chromium.org>
1470
1471         Web Inspector: move cookies model out of the items view (into sdk component).
1472         https://bugs.webkit.org/show_bug.cgi?id=98022
1473
1474         Reviewed by Yury Semikhatsky.
1475
1476         Otherwise Audits require code that belongs to the resources component.
1477
1478         * inspector/front-end/CookieItemsView.js:
1479         * inspector/front-end/CookieParser.js:
1480         (WebInspector.Cookies.getCookiesAsync):
1481         (WebInspector.Cookies.buildCookiesFromString):
1482         (WebInspector.Cookies.cookieMatchesResourceURL):
1483         (WebInspector.Cookies.cookieDomainMatchesResourceDomain):
1484
1485 2012-09-29  Ilya Tikhonovsky  <loislo@chromium.org>
1486
1487         Web Inspector: NMI make String* instrumentation non intrusive
1488         https://bugs.webkit.org/show_bug.cgi?id=97964
1489
1490         Reviewed by Yury Semikhatsky.
1491
1492         MemoryInstrumentationString.h include was added.
1493
1494         * dom/WebCoreMemoryInstrumentation.h:
1495
1496 2012-10-01  Brady Eidson  <beidson@apple.com>
1497
1498         Remove the Safari 2 -> Safari 3 icon database import code.
1499         https://bugs.webkit.org/show_bug.cgi?id=98113
1500
1501         Reviewed by Maciej Stachowiak.
1502
1503         Remove notions of "importing an old database format" from the IconDatabase.
1504
1505         No new tests - Feature removed, and no previous tests covered it.
1506
1507         * loader/icon/IconDatabase.cpp:
1508         (DefaultIconDatabaseClient):
1509         (WebCore::IconDatabase::IconDatabase):
1510         (WebCore):
1511         (WebCore::IconDatabase::iconDatabaseSyncThread):
1512         * loader/icon/IconDatabase.h:
1513         (IconDatabase):
1514         * loader/icon/IconDatabaseBase.h:
1515         * loader/icon/IconDatabaseClient.h:
1516         * WebCore.exp.in:
1517
1518 2012-10-01  Yoshifumi Inoue  <yosin@chromium.org>
1519
1520         Adding Localizer::dateFormat() for multiple fields date/datetime input UI
1521         https://bugs.webkit.org/show_bug.cgi?id=98109
1522
1523         Reviewed by Kent Tamura.
1524
1525         This patch introduces Localizer::dateFormat() function for multiple
1526         fields date/datetime/datetime-local input UI inside ENABLE_INPUT_MULTIPLE_FIELDS_UI.
1527
1528         We'll have platform specific implementations in LocaleICU, LocaleMac,
1529         and LocaleWin.
1530
1531         No new tests. Other patches will add tests for this change.
1532
1533         * platform/text/LocaleICU.cpp:
1534         (WebCore::LocaleICU::dateFormat): Added a stub.
1535         * platform/text/LocaleICU.h:
1536         (LocaleICU):  Changed to add a declaration of dateFormat().
1537         * platform/text/LocaleNone.cpp:
1538         (LocaleNone):  Changed to add a declaration of dateFormat().
1539         (WebCore::LocaleNone::dateFormat): Added.
1540         * platform/text/LocaleWin.cpp:
1541         (WebCore::LocaleWin::dateFormat): Added.
1542         * platform/text/LocaleWin.h:
1543         (LocaleWin): Changed to add a declaration of dateFormat().
1544         * platform/text/Localizer.h: Updates Unicode TR35 URI in a comment.
1545         (Localizer): Changed to add a declaration of dateFormat().
1546         * platform/text/mac/LocaleMac.h:
1547         (LocaleMac): Changed to add a declaration of dateFormat().
1548         * platform/text/mac/LocaleMac.mm:
1549         (WebCore::LocaleMac::dateFormat): Added a stub.
1550
1551 2012-10-01  Adam Barth  <abarth@webkit.org>
1552
1553         Unreviewed. Fix ASSERT introduced in
1554         http://trac.webkit.org/changeset/130103. It turns out this case can
1555         occur. This patch causes us to handle it the same way we did
1556         previously.
1557
1558         * bindings/v8/IntrusiveDOMWrapperMap.h:
1559         (WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
1560
1561 2012-10-01  Shinya Kawanaka  <shinyak@chromium.org>
1562
1563         [Refactoring] DOMSelection should not use shadowAncestorNode
1564         https://bugs.webkit.org/show_bug.cgi?id=97872
1565
1566         Reviewed by Ryosuke Niwa.
1567
1568         Since Node::shadowAncestorNode is deprecated, it should not be used.
1569         Here, we should use TreeScope::ancestorInThisScope instead.
1570
1571         No new tests, covered by existing test.
1572
1573         * page/DOMSelection.cpp:
1574         (WebCore::selectionShadowAncestor):
1575
1576 2012-10-01  Tim Horton  <timothy_horton@apple.com>
1577
1578         ScrollView::setScrollPosition is overridden by FrameView, but is not virtual
1579         https://bugs.webkit.org/show_bug.cgi?id=98064
1580
1581         Reviewed by Simon Fraser.
1582
1583         Virtualize ScrollView::setScrollPosition, and override it in FrameView.
1584
1585         No new tests, this causes subtle behavior differences in currently-untestable code.
1586
1587         * page/FrameView.h:
1588         (FrameView):
1589         * platform/ScrollView.h:
1590         (ScrollView):
1591
1592 2012-10-01  David Barton  <dbarton@mathscribe.com>
1593
1594         Restore WebCore/ChangeLog lines deleted in r130097
1595         https://bugs.webkit.org/show_bug.cgi?id=98112
1596
1597         Reviewed by Eric Seidel.
1598
1599 2012-10-01  Shinya Kawanaka  <shinyak@chromium.org>
1600
1601         TreeScope should not use node->shadowAncetorNode()
1602         https://bugs.webkit.org/show_bug.cgi?id=97869
1603
1604         Reviewed by Ryosuke Niwa.
1605
1606         TreeScope uses shadowAncestorNode(), but we should use shadowHost() here. shadowAncestorNode() is deprecated.
1607
1608         No new tests, simple refactoring.
1609
1610         * dom/TreeScope.cpp:
1611         (WebCore::TreeScope::ancestorInThisScope):
1612
1613 2012-10-01  Pavel Feldman  <pfeldman@chromium.org>
1614
1615         Web Inspector: move completions calculation into RuntimeModel (part 1)
1616         https://bugs.webkit.org/show_bug.cgi?id=98053
1617
1618         Reviewed by Yury Semikhatsky.
1619
1620         - moves current execution context state into runtime model
1621         - moves completionsForTextPrompt and its private helpers into runtime model
1622         - makes text prompt use generic expression stop characters by default
1623
1624         * inspector/front-end/ConsoleView.js:
1625         (WebInspector.ConsoleView.prototype._frameChanged):
1626         (WebInspector.ConsoleView.prototype._appendContextOption):
1627         (WebInspector.ConsoleView.prototype._contextChanged):
1628         * inspector/front-end/DatabaseQueryView.js:
1629         (WebInspector.DatabaseQueryView):
1630         * inspector/front-end/ObjectPropertiesSection.js:
1631         (WebInspector.ObjectPropertyPrompt):
1632         * inspector/front-end/RuntimeModel.js:
1633         (WebInspector.RuntimeModel.prototype.setCurrentExecutionContext):
1634         (WebInspector.RuntimeModel.prototype.currentExecutionContext):
1635         (WebInspector.RuntimeModel.prototype._executionContextCreated):
1636         (WebInspector.RuntimeModel.prototype.evaluate.evalCallback):
1637         (WebInspector.RuntimeModel.prototype.evaluate):
1638         (WebInspector.RuntimeModel.prototype.completionsForTextPrompt):
1639         (WebInspector.RuntimeModel.prototype._completionsForExpression.evaluated.getCompletions):
1640         (WebInspector.RuntimeModel.prototype._completionsForExpression.evaluated):
1641         (WebInspector.RuntimeModel.prototype._completionsForExpression.receivedPropertyNamesFromEval):
1642         (WebInspector.RuntimeModel.prototype._completionsForExpression.receivedPropertyNames):
1643         (WebInspector.RuntimeModel.prototype._completionsForExpression):
1644         (WebInspector.RuntimeModel.prototype._reportCompletions):
1645         * inspector/front-end/TextPrompt.js:
1646         (WebInspector.TextPrompt):
1647         * inspector/front-end/WatchExpressionsSidebarPane.js:
1648         (WebInspector.WatchExpressionsSection.prototype.update):
1649
1650 2012-10-01  Dongwoo Joshua Im  <dw.im@samsung.com>
1651
1652         The static function 'deleteFileSystem' in the LocalFileSystem.cpp should have another name.
1653         https://bugs.webkit.org/show_bug.cgi?id=98106
1654
1655         Reviewed by Yuta Kitamura.
1656
1657         A build error occurs because there are two functions which have same name in the LocalFileSystem.cpp file.
1658         One is member function of the class, and the other is a static function which is called by the member function.
1659         So, I've tried to change the name of the static function from 'deleteFileSystem' to 'performDeleteFileSystem'.
1660
1661         No new functionality, no new test.
1662
1663         * Modules/filesystem/LocalFileSystem.cpp:
1664         (WebCore::performDeleteFileSystem): The name of function is changed from 'deleteFileSystem'.
1665         (WebCore::LocalFileSystem::requestFileSystem):
1666         (WebCore::LocalFileSystem::deleteFileSystem):
1667
1668 2012-10-01  Yoshifumi Inoue  <yosin@chromium.org>
1669
1670         Week specifiers defined in DateTimeFormat class are wrong.
1671         https://bugs.webkit.org/show_bug.cgi?id=98104
1672
1673         Reviewed by Kent Tamura.
1674
1675         This patch changes week of year and week of month format specifiers
1676         defined in DateTimeFormat class to match with Unicode technical
1677         standard 35, LDML, Locale Data Markup Language, (http://www.unicode.org/reports/tr35/).
1678
1679         No new tests. Following existing tests cover this change:
1680           - fast/forms/month-multiple-fields/month-multiple-fields-appearance-basic.html
1681           - fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-classes.html
1682           - fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-elements.html
1683           - fast/forms/month-multiple-fields/month-multiple-fields-appearance-style.html
1684
1685         * html/WeekInputType.cpp:
1686         (WebCore::WeekInputType::setupLayoutParameters): Changed to use 'w' instead of 'W'.
1687         * platform/text/DateTimeFormat.cpp: Changed elements in lowerCaseToFieldTypeMap and upperCaseToFieldTypeMap.
1688         * platform/text/DateTimeFormat.h: Changed FieldTypeWeekOfMonth to 'W' and FieldTypeWeekOfYear to 'w'.
1689
1690 2012-10-01  Glenn Adams  <glenn@skynav.com>
1691
1692         Add other <string> typed tokens to YYDEBUG token output
1693         https://bugs.webkit.org/show_bug.cgi?id=98102
1694
1695         Reviewed by Simon Fraser.
1696
1697         Add other <string> typed tokens to YYPRINT macro expansion. Minor cleanup of cast.
1698
1699         No new tests. For CSS lexer/parser debug usage only.
1700
1701         * css/CSSGrammar.y:
1702         Add other <string> typed tokens to YYPRINT macro expansion.
1703         Change C-type cast to function-call style cast (per darin).
1704
1705 2012-10-01  Keishi Hattori  <keishi@webkit.org>
1706
1707         Calendar picker should use zero as default step base
1708         https://bugs.webkit.org/show_bug.cgi?id=97976
1709
1710         Reviewed by Kent Tamura.
1711
1712         Calendar picker should be using zero as default step base for input type=date.
1713         The spec says to use zero unless specified otherwise.
1714         Since input type=week has another default step base, I am adding step base
1715         to DateTimeChooserParameters.
1716
1717         Test: fast/forms/date/calendar-picker-with-step.html
1718
1719         * Resources/pagepopups/calendarPicker.js:
1720         (handleArgumentsTimeout):
1721         (CalendarPicker):
1722         (CalendarPicker.prototype.stepMismatch): Use the new this.stepBase.
1723         * html/shadow/PickerIndicatorElement.cpp:
1724         (WebCore::PickerIndicatorElement::openPopup): Gets step base from step range.
1725         * platform/DateTimeChooser.h:
1726         (DateTimeChooserParameters): Added stepBase.
1727
1728 2012-10-01  Tony Chang  <tony@chromium.org>
1729
1730         flexbox does wrong baseline item alignment in columns
1731         https://bugs.webkit.org/show_bug.cgi?id=97948
1732
1733         Reviewed by Ojan Vafai.
1734
1735         For columns, baseline alignment should just be flex-start.  We were previously
1736         moving the logical left edge by the ascent.
1737
1738         Test: css3/flexbox/align-baseline.html
1739
1740         * rendering/RenderFlexibleBox.cpp:
1741         (WebCore::RenderFlexibleBox::alignmentForChild): Map baseline to flex-start for orthogonal children.
1742         (WebCore::RenderFlexibleBox::alignChildren): Add FIXME for bug in baseline alignment.
1743         * rendering/RenderFlexibleBox.h:
1744
1745 2012-10-01  Keishi Hattori  <keishi@webkit.org>
1746
1747         Rename CalendarPickerElement to PickerIndicatorElement
1748         https://bugs.webkit.org/show_bug.cgi?id=98096
1749
1750         Reviewed by Kent Tamura.
1751
1752         Renaming CalendarPickerElement to PickerIndicatorElement because we want to use it for other input types like time, week, month, datetime.
1753
1754         No new tests. Just a rename.
1755
1756         * GNUmakefile.list.am:
1757         * WebCore.gypi:
1758         * html/DateInputType.cpp:
1759         (WebCore::DateInputType::createShadowSubtree):
1760         * html/DateInputType.h:
1761         (WebCore):
1762         (DateInputType):
1763         * html/shadow/PickerIndicatorElement.cpp: Renamed from Source/WebCore/html/shadow/CalendarPickerElement.cpp.
1764         (WebCore):
1765         (WebCore::PickerIndicatorElement::PickerIndicatorElement):
1766         (WebCore::PickerIndicatorElement::create):
1767         (WebCore::PickerIndicatorElement::~PickerIndicatorElement):
1768         (WebCore::PickerIndicatorElement::createRenderer):
1769         (WebCore::PickerIndicatorElement::hostInput):
1770         (WebCore::PickerIndicatorElement::defaultEventHandler):
1771         (WebCore::PickerIndicatorElement::willRespondToMouseClickEvents):
1772         (WebCore::PickerIndicatorElement::didChooseValue):
1773         (WebCore::PickerIndicatorElement::didEndChooser):
1774         (WebCore::PickerIndicatorElement::openPopup):
1775         (WebCore::PickerIndicatorElement::closePopup):
1776         (WebCore::PickerIndicatorElement::detach):
1777         * html/shadow/PickerIndicatorElement.h: Renamed from Source/WebCore/html/shadow/CalendarPickerElement.h.
1778         (WebCore):
1779         (PickerIndicatorElement):
1780
1781 2012-10-01  Ojan Vafai  <ojan@chromium.org>
1782
1783         Unreviewed, rolling out r130079.
1784         http://trac.webkit.org/changeset/130079
1785         https://bugs.webkit.org/show_bug.cgi?id=95866
1786
1787         Broke the chomium windows compile.
1788
1789         * css/CSSFontFace.cpp:
1790         (WebCore::CSSFontFace::getFontData):
1791         * css/CSSFontFace.h:
1792         (CSSFontFace):
1793         * css/CSSFontFaceSource.cpp:
1794         (WebCore::CSSFontFaceSource::getFontData):
1795         * css/CSSFontFaceSource.h:
1796         (CSSFontFaceSource):
1797         * css/CSSFontSelector.cpp:
1798         (WebCore::fontDataForGenericFamily):
1799         (WebCore::CSSFontSelector::getFontData):
1800         * css/CSSFontSelector.h:
1801         * css/CSSSegmentedFontFace.cpp:
1802         (WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading):
1803         (WebCore::CSSSegmentedFontFace::getFontData):
1804         * css/CSSSegmentedFontFace.h:
1805         (CSSSegmentedFontFace):
1806         * dom/Document.cpp:
1807         (WebCore::Document::registerCustomFont):
1808         * dom/Document.h:
1809         (Document):
1810         * platform/graphics/Font.h:
1811         (WebCore):
1812         * platform/graphics/FontCache.cpp:
1813         (WebCore):
1814         (WebCore::FontCache::getCachedFontData):
1815         (WebCore::FontCache::getNonRetainedLastResortFallbackFont):
1816         (WebCore::FontCache::releaseFontData):
1817         (WebCore::FontCache::purgeInactiveFontData):
1818         (WebCore::FontCache::getFontData):
1819         * platform/graphics/FontCache.h:
1820         (FontCache):
1821         * platform/graphics/FontData.h:
1822         * platform/graphics/FontFallbackList.cpp:
1823         (WebCore::FontFallbackList::releaseFontData):
1824         (WebCore::FontFallbackList::fontDataAt):
1825         (WebCore::FontFallbackList::setPlatformFont):
1826         * platform/graphics/FontFallbackList.h:
1827         (FontFallbackList):
1828         * platform/graphics/FontFastPath.cpp:
1829         (WebCore::Font::glyphDataAndPageForCharacter):
1830         * platform/graphics/FontSelector.h:
1831         (FontSelector):
1832         * platform/graphics/GlyphPageTreeNode.cpp:
1833         (WebCore::GlyphPageTreeNode::initializePage):
1834         * platform/graphics/SegmentedFontData.cpp:
1835         (WebCore::SegmentedFontData::fontDataForCharacter):
1836         * platform/graphics/SegmentedFontData.h:
1837         (WebCore::FontDataRange::FontDataRange):
1838         (WebCore::FontDataRange::fontData):
1839         (FontDataRange):
1840         (SegmentedFontData):
1841         * platform/graphics/SimpleFontData.cpp:
1842         (WebCore::SimpleFontData::verticalRightOrientationFontData):
1843         (WebCore::SimpleFontData::uprightOrientationFontData):
1844         (WebCore::SimpleFontData::brokenIdeographFontData):
1845         * platform/graphics/SimpleFontData.h:
1846         (SimpleFontData):
1847         (WebCore::SimpleFontData::variantFontData):
1848         (DerivedFontData):
1849         * platform/graphics/chromium/FontCacheAndroid.cpp:
1850         (WebCore::FontCache::getFontDataForCharacters):
1851         (WebCore::FontCache::getSimilarFontPlatformData):
1852         (WebCore::FontCache::getLastResortFallbackFont):
1853         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1854         (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
1855         (GetLastResortFallbackFontProcData):
1856         (WebCore::FontCache::getFontDataForCharacters):
1857         (WebCore::FontCache::getSimilarFontPlatformData):
1858         (WebCore::FontCache::getLastResortFallbackFont):
1859         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
1860         (WebCore::SimpleFontData::createScaledFontData):
1861         (WebCore::SimpleFontData::smallCapsFontData):
1862         (WebCore::SimpleFontData::emphasisMarkFontData):
1863         * platform/graphics/freetype/FontCacheFreeType.cpp:
1864         (WebCore::FontCache::getFontDataForCharacters):
1865         (WebCore::FontCache::getSimilarFontPlatformData):
1866         (WebCore::FontCache::getLastResortFallbackFont):
1867         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
1868         (WebCore::SimpleFontData::createScaledFontData):
1869         (WebCore::SimpleFontData::smallCapsFontData):
1870         (WebCore::SimpleFontData::emphasisMarkFontData):
1871         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
1872         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
1873         * platform/graphics/mac/FontCacheMac.mm:
1874         (WebCore::FontCache::getFontDataForCharacters):
1875         (WebCore::FontCache::getSimilarFontPlatformData):
1876         (WebCore::FontCache::getLastResortFallbackFont):
1877         * platform/graphics/mac/FontComplexTextMac.cpp:
1878         (WebCore::Font::fontDataForCombiningCharacterSequence):
1879         * platform/graphics/mac/SimpleFontDataMac.mm:
1880         (WebCore::SimpleFontData::platformDestroy):
1881         (WebCore::SimpleFontData::createScaledFontData):
1882         (WebCore::SimpleFontData::smallCapsFontData):
1883         (WebCore::SimpleFontData::emphasisMarkFontData):
1884         * platform/graphics/pango/FontCachePango.cpp:
1885         (WebCore::FontCache::getFontDataForCharacters):
1886         (WebCore::FontCache::getSimilarFontPlatformData):
1887         (WebCore::FontCache::getLastResortFallbackFont):
1888         * platform/graphics/pango/SimpleFontDataPango.cpp:
1889         (WebCore::SimpleFontData::createScaledFontData):
1890         (WebCore::SimpleFontData::smallCapsFontData):
1891         (WebCore::SimpleFontData::emphasisMarkFontData):
1892         * platform/graphics/qt/FontCacheQt.cpp:
1893         (WebCore::FontCache::getFontDataForCharacters):
1894         (WebCore::FontCache::getSimilarFontPlatformData):
1895         (WebCore::FontCache::getLastResortFallbackFont):
1896         * platform/graphics/qt/SimpleFontDataQt.cpp:
1897         (WebCore::SimpleFontData::createScaledFontData):
1898         (WebCore::SimpleFontData::smallCapsFontData):
1899         (WebCore::SimpleFontData::emphasisMarkFontData):
1900         * platform/graphics/skia/FontCacheSkia.cpp:
1901         (WebCore::FontCache::getFontDataForCharacters):
1902         (WebCore::FontCache::getSimilarFontPlatformData):
1903         (WebCore::FontCache::getLastResortFallbackFont):
1904         * platform/graphics/skia/SimpleFontDataSkia.cpp:
1905         (WebCore::SimpleFontData::createScaledFontData):
1906         (WebCore::SimpleFontData::smallCapsFontData):
1907         (WebCore::SimpleFontData::emphasisMarkFontData):
1908         * platform/graphics/win/FontCacheWin.cpp:
1909         (WebCore::FontCache::getFontDataForCharacters):
1910         (WebCore::FontCache::getSimilarFontPlatformData):
1911         (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
1912         (WebCore::FontCache::getLastResortFallbackFont):
1913         * platform/graphics/win/SimpleFontDataWin.cpp:
1914         (WebCore::SimpleFontData::createScaledFontData):
1915         (WebCore::SimpleFontData::smallCapsFontData):
1916         (WebCore::SimpleFontData::emphasisMarkFontData):
1917         * platform/graphics/wince/FontCacheWinCE.cpp:
1918         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
1919         (WebCore::SimpleFontData::createScaledFontData):
1920         (WebCore::SimpleFontData::smallCapsFontData):
1921         (WebCore::SimpleFontData::emphasisMarkFontData):
1922         * platform/graphics/wx/FontCacheWx.cpp:
1923         (WebCore::FontCache::getFontDataForCharacters):
1924         (WebCore::FontCache::getSimilarFontPlatformData):
1925         (WebCore::FontCache::getLastResortFallbackFont):
1926         * platform/graphics/wx/SimpleFontDataWx.cpp:
1927         (WebCore::SimpleFontData::createScaledFontData):
1928         (WebCore::SimpleFontData::smallCapsFontData):
1929         (WebCore::SimpleFontData::emphasisMarkFontData):
1930
1931 2012-10-01  Beth Dakin  <bdakin@apple.com>
1932
1933         Speculative GTK build fix after http://trac.webkit.org/changeset/130091
1934
1935         * GNUmakefile.list.am:
1936
1937 2012-10-01  Adam Barth  <abarth@webkit.org>
1938
1939         [V8] ScriptWrappable should hold the wrapper handle directly (Dromaeo/dom-traverse gets 4% faster)
1940         https://bugs.webkit.org/show_bug.cgi?id=97974
1941
1942         Reviewed by Kentaro Hara.
1943
1944         Previously, we stored a pointer to a handle to a wrapper in Node. That
1945         is an extra layer of indirection that slows down finding the wrapper
1946         for the node. A handle is just a pointer, so we might as we just store
1947         the handle in the Node directly. That speeds up dom-traverse by about 4%.
1948
1949         We were using the extra layer of indirection in IntrusiveDOMWrapperMap
1950         to make removal more efficient. Rather than using a chunked table, we
1951         now use a HashSet, which also lets us remove elements quickly.
1952
1953         * bindings/v8/IntrusiveDOMWrapperMap.h:
1954         (WebCore::IntrusiveDOMWrapperMap::IntrusiveDOMWrapperMap):
1955         (WebCore::IntrusiveDOMWrapperMap::get):
1956         (WebCore::IntrusiveDOMWrapperMap::set):
1957         (WebCore::IntrusiveDOMWrapperMap::contains):
1958         (WebCore::IntrusiveDOMWrapperMap::visit):
1959         (WebCore::IntrusiveDOMWrapperMap::removeIfPresent):
1960         (WebCore::IntrusiveDOMWrapperMap::clear):
1961         * bindings/v8/ScriptWrappable.h:
1962         (WebCore::ScriptWrappable::ScriptWrappable):
1963         (WebCore::ScriptWrappable::wrapper):
1964         (WebCore::ScriptWrappable::setWrapper):
1965         (WebCore::ScriptWrappable::disposeWrapper):
1966         (WebCore::ScriptWrappable::reportMemoryUsage):
1967         (ScriptWrappable):
1968         * bindings/v8/V8DOMWrapper.h:
1969         (WebCore::V8DOMWrapper::getCachedWrapper):
1970
1971 2012-10-01  Ojan Vafai  <ojan@chromium.org>
1972
1973         Unreviewed, rolling out r130062.
1974         http://trac.webkit.org/changeset/130062
1975         https://bugs.webkit.org/show_bug.cgi?id=98001
1976
1977         Causes a ton of gtest failures on the chromium bots.
1978
1979         * platform/chromium/LanguageChromium.cpp:
1980         (WebCore::platformLanguage):
1981
1982 2012-10-01  David Barton  <dbarton@mathscribe.com>
1983
1984         [MathML] Baseline wrong for fractions or munder/mover with padding
1985         https://bugs.webkit.org/show_bug.cgi?id=97990
1986
1987         Reviewed by Eric Seidel.
1988
1989         We include any border or padding in our baseline computation. We also take this opportunity
1990         to quit adding extra left & right padding to numerators and denominators, making our output
1991         tighter and also more compatible with Firefox and TeX, since we are rebaselining some
1992         fraction pixel tests now anyway.
1993
1994         Tests added to LayoutTests/mathml/presentation/{over,row-alignment}.xhtml
1995
1996         * rendering/mathml/RenderMathMLFraction.cpp:
1997         (WebCore::RenderMathMLFraction::fixChildStyle):
1998         (WebCore::RenderMathMLFraction::paint):
1999         (WebCore::RenderMathMLFraction::firstLineBoxBaseline):
2000         * rendering/mathml/RenderMathMLUnderOver.cpp:
2001         (WebCore::RenderMathMLUnderOver::firstLineBoxBaseline):
2002
2003 2012-10-01  Joshua Bell  <jsbell@chromium.org>
2004
2005         IndexedDB: Fire error rather than raising on request creation if transaction aborts asynchronously.
2006         https://bugs.webkit.org/show_bug.cgi?id=93054
2007
2008         Reviewed by Tony Chang.
2009
2010         All IDB data operations are asynchronous, producing IDBRequest objects. This was implemented
2011         by passing all data from the front-end to the back-end synchronously, and synchronously
2012         returning an exception code back if the request was invalid. Previous changes have moved
2013         request validation to the front-end except for the case of the back-end transaction having
2014         asynchronously aborted in the mean time.
2015
2016         To eliminate that case (which would allow front-end to back-end communication to be
2017         asynchronous in multi-process ports), change from returning an exception code to relying on
2018         the front-end to abort the request when the abort event finally arrives.
2019
2020         The difference would be noticeable in scripts - in a multi-process environment:
2021
2022         var request1 = store.get(0);
2023         request1.onerror = errorHandler; // (A)
2024         // (B)
2025         var request2 = store.get(0); // (C)
2026         request2.onerror = errorHandler; // (D)
2027
2028         If the transaction back-end were to asynchronously abort at exactly point (B), then prior to
2029         this patch an exception would be thrown at (C). With this patch, no exception but (D) would
2030         fire, same as (A).
2031
2032         The back-end explicitly fires an error callback as well, as intermediate layers may rely on
2033         this to stop tracking the pending callback.
2034
2035         No new layout tests - change is not observable in single-process ports.
2036         Added webkit_unit_test IDBRequestTest.AbortErrorAfterAbort to verify that IDBRequest
2037         is resilient to this pattern, but it was previous.
2038
2039         * Modules/indexeddb/IDBCursor.cpp:
2040         (WebCore::IDBCursor::advance): Back end should never fail a request.
2041         (WebCore::IDBCursor::continueFunction): Ditto.
2042         (WebCore::IDBCursor::deleteFunction): Ditto, and also move "is key cursor" test
2043         here from back-end.
2044         * Modules/indexeddb/IDBCursorBackendImpl.cpp:
2045         (WebCore::IDBCursorBackendImpl::continueFunction): Change from EC to firing error.
2046         (WebCore::IDBCursorBackendImpl::advance): Ditto.
2047         (WebCore::IDBCursorBackendImpl::deleteFunction): Ditto, and remove test moved to FE.
2048         (WebCore::IDBCursorBackendImpl::prefetchContinue): Ditto.
2049         * Modules/indexeddb/IDBDatabaseError.cpp:
2050         (WebCore::IDBDatabaseError::create): Add overload that looks up message via code.
2051         (WebCore::IDBDatabaseError::IDBDatabaseError): Look up message via exception table.
2052         * Modules/indexeddb/IDBDatabaseException.h: Add getErrorDescription.
2053         * Modules/indexeddb/IDBDatabaseException.cpp: Implementation of getErrorDescription.
2054         * Modules/indexeddb/IDBIndex.cpp:
2055         (WebCore::IDBIndex::openCursor): Back end should never fail a request.
2056         (WebCore::IDBIndex::count): Ditto.
2057         (WebCore::IDBIndex::openKeyCursor): Ditto.
2058         (WebCore::IDBIndex::get): Ditto.
2059         (WebCore::IDBIndex::getKey): Ditto.
2060         * Modules/indexeddb/IDBIndexBackendImpl.cpp:
2061         (WebCore::IDBIndexBackendImpl::openCursor): Change from EC to firing error.
2062         (WebCore::IDBIndexBackendImpl::openKeyCursor): Ditto.
2063         (WebCore::IDBIndexBackendImpl::count): Ditto.
2064         (WebCore::IDBIndexBackendImpl::get): Ditto.
2065         (WebCore::IDBIndexBackendImpl::getKey): Ditto.
2066         * Modules/indexeddb/IDBObjectStore.cpp:
2067         (WebCore::IDBObjectStore::get): Back end should never fail a request.
2068         (WebCore::IDBObjectStore::put): Ditto.
2069         (WebCore::IDBObjectStore::deleteFunction): Ditto.
2070         (WebCore::IDBObjectStore::clear): Ditto.
2071         (WebCore): Ditto.
2072         (WebCore::IDBObjectStore::openCursor): Ditto.
2073         (WebCore::IDBObjectStore::count): Ditto.
2074         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2075         (WebCore::IDBObjectStoreBackendImpl::get): Change from EC to firing error.
2076         (WebCore::IDBObjectStoreBackendImpl::putWithIndexKeys): Ditto.
2077         (WebCore):
2078         (WebCore::IDBObjectStoreBackendImpl::deleteFunction): Ditto.
2079         (WebCore::IDBObjectStoreBackendImpl::clear): Ditto.
2080         (WebCore::IDBObjectStoreBackendImpl::openCursor): Ditto.
2081         (WebCore::IDBObjectStoreBackendImpl::count): Ditto.
2082
2083 2012-10-01  Ryosuke Niwa  <rniwa@webkit.org>
2084
2085         Build fix. Clearly, these objects could be instantiated in worker threads.
2086         Not sure why my patch asserted that we're in the main thread.
2087
2088         * dom/ContainerNode.h:
2089         (WebCore::NoEventDispatchAssertion::NoEventDispatchAssertion):
2090         (WebCore::NoEventDispatchAssertion::~NoEventDispatchAssertion):
2091
2092 2012-10-01  Beth Dakin  <bdakin@apple.com>
2093
2094         https://bugs.webkit.org/show_bug.cgi?id=97365
2095         ScrollingTreeState needs to be a tree of nodes
2096
2097         Reviewed by Simon Fraser.
2098
2099         This patch should not change any behavior.
2100
2101         Prior to this patch, ScrollingTreeState attempted to contain all of 
2102         the state information needed for the whole scrolling tree in one 
2103         object. But in the future when there are multiple nodes in the 
2104         scrolling tree, a single state object will not be sufficient. 
2105         ScrollingState should also be represented by a tree. This patch makes 
2106         scrolling state into a tree. The old ScrollingTreeState class has 
2107         become the ScrollingStateScrollingNode class since the majority of 
2108         the class represents scroll state that is specific to ScrollableAreas 
2109         and will not be applicable to fixed or sticky layers.
2110
2111         Some new files and some moved files.
2112         * WebCore.xcodeproj/project.pbxproj:
2113
2114         Everything that used to refer to the ScrollingTreeState should now 
2115         refer to the ScrollingStateTree instead. Right now, all of this code 
2116         continues to deal with only the root node of the tree. In the future, 
2117         it will have to deal with all of the nodes.
2118         * page/scrolling/ScrollingCoordinator.cpp:
2119         (WebCore::ScrollingCoordinator::ScrollingCoordinator):
2120         (WebCore::ScrollingCoordinator::pageDestroyed):
2121         (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
2122         (WebCore::ScrollingCoordinator::setScrollLayer):
2123         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
2124         (WebCore::ScrollingCoordinator::setScrollParameters):
2125         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
2126         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
2127         (WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
2128         (WebCore::ScrollingCoordinator::scrollingStateTreeCommitterTimerFired):
2129         (WebCore::ScrollingCoordinator::commitTreeStateIfNeeded):
2130         (WebCore::ScrollingCoordinator::commitTreeState):
2131         * page/scrolling/ScrollingCoordinator.h:
2132         (WebCore):
2133         (ScrollingCoordinator):
2134
2135         This is a new abstract base class for the nodes in the 
2136         ScrollingStateTree.
2137         * page/scrolling/ScrollingStateNode.cpp: Added.
2138         (WebCore):
2139         (WebCore::ScrollingStateNode::ScrollingStateNode):
2140         (WebCore::ScrollingStateNode::~ScrollingStateNode):
2141         (WebCore::ScrollingStateNode::appendChild):
2142         (WebCore::ScrollingStateNode::cloneChildNodes):
2143         (WebCore::ScrollingStateNode::traverseNext):
2144         * page/scrolling/ScrollingStateNode.h: Added.
2145         (WebCore):
2146         (ScrollingStateNode):
2147         (WebCore::ScrollingStateNode::scrollLayerDidChange):
2148         (WebCore::ScrollingStateNode::setScrollLayerDidChange):
2149         (WebCore::ScrollingStateNode::scrollingStateTree):
2150         (WebCore::ScrollingStateNode::parent):
2151         (WebCore::ScrollingStateNode::firstChild):
2152         (WebCore::ScrollingStateNode::nextSibling):
2153         (WebCore::ScrollingStateNode::setParent):
2154         (WebCore::ScrollingStateNode::setFirstChild):
2155         (WebCore::ScrollingStateNode::setNextSibling):
2156         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2157         * page/scrolling/mac/ScrollingStateNodeMac.mm: Copied from page/scrolling/mac/ScrollingTreeStateMac.mm.
2158         (WebCore::ScrollingStateNode::platformScrollLayer):
2159         (WebCore::ScrollingStateNode::setScrollLayer):
2160         (WebCore):
2161
2162         Right now, the ScrollingStateScrollingNode is the only type of 
2163         ScrollingStateNode. In the future there will be, for example, 
2164         ScrollingStateFixedNodes that will have a different set of state 
2165         information to keep track of.
2166         * page/scrolling/ScrollingStateScrollingNode.cpp: Copied from page/scrolling/ScrollingTreeState.cpp.
2167         (WebCore::ScrollingStateScrollingNode::create):
2168         (WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
2169         (WebCore):
2170         (WebCore::ScrollingStateScrollingNode::~ScrollingStateScrollingNode):
2171         (WebCore::ScrollingStateScrollingNode::cloneNode):
2172         (WebCore::ScrollingStateScrollingNode::setViewportRect):
2173         (WebCore::ScrollingStateScrollingNode::setContentsSize):
2174         (WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
2175         (WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
2176         (WebCore::ScrollingStateScrollingNode::setShouldUpdateScrollLayerPositionOnMainThread):
2177         (WebCore::ScrollingStateScrollingNode::setHorizontalScrollElasticity):
2178         (WebCore::ScrollingStateScrollingNode::setVerticalScrollElasticity):
2179         (WebCore::ScrollingStateScrollingNode::setHasEnabledHorizontalScrollbar):
2180         (WebCore::ScrollingStateScrollingNode::setHasEnabledVerticalScrollbar):
2181         (WebCore::ScrollingStateScrollingNode::setHorizontalScrollbarMode):
2182         (WebCore::ScrollingStateScrollingNode::setVerticalScrollbarMode):
2183         (WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
2184         (WebCore::ScrollingStateScrollingNode::setScrollOrigin):
2185         * page/scrolling/ScrollingStateScrollingNode.h: Copied from page/scrolling/ScrollingTreeState.h.
2186         (ScrollingStateScrollingNode):
2187         * page/scrolling/ScrollingStateTree.cpp: Added.
2188         (WebCore):
2189         (WebCore::ScrollingStateTree::create):
2190         (WebCore::ScrollingStateTree::ScrollingStateTree):
2191         (WebCore::ScrollingStateTree::~ScrollingStateTree):
2192         (WebCore::ScrollingStateTree::commit):
2193
2194         The ScrollingStateTree manages the nodes in the tree via the root 
2195         node. It is responsible for cloning the tree and sending it over to 
2196         the scrolling thread.
2197         * page/scrolling/ScrollingStateTree.h: Added.
2198         (WebCore):
2199         (ScrollingStateTree):
2200         (WebCore::ScrollingStateTree::rootStateNode):
2201         (WebCore::ScrollingStateTree::setHasChangedProperties):
2202         (WebCore::ScrollingStateTree::hasChangedProperties):
2203         (WebCore::ScrollingStateTree::setRootStateNode):
2204
2205         Everything that used to refer to the ScrollingTreeState should now 
2206         refer to the ScrollingStateTree instead. Right now, all of this code 
2207         continues to deal with only the root node of the tree. In the future, 
2208         it will have to deal with all of the nodes.
2209         * page/scrolling/ScrollingTree.cpp:
2210         (WebCore::ScrollingTree::commitNewTreeState):
2211         * page/scrolling/ScrollingTree.h:
2212         (WebCore):
2213         * page/scrolling/ScrollingTreeNode.cpp:
2214         (WebCore::ScrollingTreeNode::update):
2215         * page/scrolling/ScrollingTreeNode.h:
2216         (WebCore):
2217         (ScrollingTreeNode):
2218         * page/scrolling/mac/ScrollingTreeNodeMac.h:
2219         (ScrollingTreeNodeMac):
2220         * page/scrolling/mac/ScrollingTreeNodeMac.mm:
2221         (WebCore::ScrollingTreeNodeMac::update):
2222
2223         ScrollingTreeState.cpp --> ScrollingStateScrollingNode.cpp
2224         * page/scrolling/ScrollingTreeState.cpp: Removed.
2225
2226         ScrollingTreeState.h --> ScrollingStateScrollingNode.h
2227         * page/scrolling/ScrollingTreeState.h: Removed.
2228
2229         ScrollingTreeStateMac.mm --> ScrollingStateNodeMac.mm
2230         * page/scrolling/mac/ScrollingTreeStateMac.mm: Removed.
2231
2232 2012-10-01  Dimitri Glazkov  <dglazkov@chromium.org>
2233
2234         Kill transitive effects of SelectorChecker::checkOneSelector.
2235         https://bugs.webkit.org/show_bug.cgi?id=97953
2236
2237         Reviewed by Eric Seidel.
2238
2239         The dynamicPseudo/hasUnknownPseudoelements by-ref parameters that are passed into checkOneSelector make the logic harder to understand and aren't needed. Refactor the code to rid of them, replacing them instead with two flags in SelectorCheckingContext.
2240
2241         No change in behavior, covered by existing tests.
2242
2243         * css/SelectorChecker.cpp:
2244         (WebCore::SelectorChecker::checkSelector): Rolled pseudo-element-checking code out of checkOneSelector into here, since that is where t
2245         (WebCore::SelectorChecker::checkOneSelector): Changed to use SelectorCheckingContext rather than transitive params.
2246         * css/SelectorChecker.h:
2247         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext): Added two new flags.
2248         (SelectorCheckingContext): Ditto.
2249
2250
2251 2012-10-01  Andreas Kling  <kling@webkit.org>
2252
2253         349kB below SelectorDataList::initialize() on Membuster3.
2254         <http://webkit.org/b/98072>
2255         <rdar://problem/12408605>
2256
2257         Reviewed by Anders Carlsson.
2258
2259         Make a separate pass over the CSSSelectorList to figure out the capacity needed for SelectorDataList::m_selectors.
2260         Reduces memory consumption by 322kB on Membuster3.
2261
2262         * dom/SelectorQuery.cpp:
2263         (WebCore::SelectorDataList::initialize):
2264
2265 2012-10-01  Anders Carlsson  <andersca@apple.com>
2266
2267         Add a GraphicsLayerFactory getter to ChromeClient
2268         https://bugs.webkit.org/show_bug.cgi?id=98069
2269
2270         Reviewed by Andreas Kling.
2271
2272         * page/ChromeClient.h:
2273         (WebCore::ChromeClient::graphicsLayerFactory):
2274         New function that can be overridden by ports to customize the layer type created for a page.
2275
2276         * rendering/RenderLayerCompositor.cpp:
2277         (WebCore::RenderLayerCompositor::graphicsLayerFactory):
2278         * rendering/RenderLayerCompositor.h:
2279         Add helper getter that's unused for now but will be called by RenderLayerBacking when creating graphics layers.
2280
2281 2012-10-01  Ryosuke Niwa  <rniwa@webkit.org>
2282
2283         Rename AssertNoEventDispatch to NoEventDispatchAssertion
2284         https://bugs.webkit.org/show_bug.cgi?id=98075
2285
2286         Reviewed by Abhishek Arya.
2287
2288         Renamed the class.
2289
2290         * dom/ContainerNode.cpp:
2291         (WebCore):
2292         (WebCore::ContainerNode::insertBeforeCommon):
2293         (WebCore::ContainerNode::replaceChild):
2294         (WebCore::ContainerNode::removeBetween):
2295         (WebCore::ContainerNode::removeChildren):
2296         (WebCore::ContainerNode::appendChild):
2297         (WebCore::ContainerNode::parserAppendChild):
2298         (WebCore::dispatchChildInsertionEvents):
2299         (WebCore::dispatchChildRemovalEvents):
2300         * dom/ContainerNode.h:
2301         (WebCore::NoEventDispatchAssertion::NoEventDispatchAssertion):
2302         (WebCore::NoEventDispatchAssertion::~NoEventDispatchAssertion):
2303         * dom/ContainerNodeAlgorithms.h:
2304         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
2305         (WebCore::ChildNodeInsertionNotifier::notify):
2306         (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):
2307         * dom/Document.cpp:
2308         (WebCore::Document::dispatchWindowEvent):
2309         (WebCore::Document::dispatchWindowLoadEvent):
2310         * dom/EventDispatcher.cpp:
2311         (WebCore::EventDispatcher::dispatchEvent):
2312         * dom/EventTarget.cpp:
2313         (WebCore::EventTarget::fireEventListeners):
2314         * dom/Node.cpp:
2315         (WebCore::Node::dispatchSubtreeModifiedEvent):
2316         (WebCore::Node::dispatchFocusInEvent):
2317         (WebCore::Node::dispatchFocusOutEvent):
2318         (WebCore::Node::dispatchDOMActivateEvent):
2319         * dom/WebKitNamedFlow.cpp:
2320         (WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):
2321         * html/HTMLMediaElement.cpp:
2322         (WebCore::HTMLMediaElement::loadInternal):
2323
2324 2012-10-01  Stephen Chenney  <schenney@chromium.org>
2325
2326         Rename Font::m_fontList to avoid confusion
2327         https://bugs.webkit.org/show_bug.cgi?id=95867
2328
2329         Reviewed by Eric Seidel.
2330
2331        Renames Font::m_fontList to Font::m_fontFallbackList to avoid confusion
2332        with FontFallbackList::m_fontList.
2333
2334         No new tests as behavior is absolutely not different.
2335
2336         * platform/graphics/Font.cpp:
2337         (WebCore::Font::Font):
2338         (WebCore::Font::operator=):
2339         (WebCore::Font::operator==):
2340         (WebCore::Font::update):
2341         * platform/graphics/Font.h:
2342         (WebCore::Font::fontList):
2343         (WebCore::Font::loadingCustomFonts):
2344         (Font):
2345         (WebCore::Font::primaryFont):
2346         (WebCore::Font::fontDataAt):
2347         (WebCore::Font::isFixedPitch):
2348         (WebCore::Font::fontSelector):
2349         * platform/graphics/FontFastPath.cpp:
2350         (WebCore::Font::glyphDataAndPageForCharacter):
2351
2352 2012-10-01  Florin Malita  <fmalita@chromium.org>
2353
2354         Refactor layer-related logic out of RenderBoxModelObject
2355         https://bugs.webkit.org/show_bug.cgi?id=86022
2356
2357         Reviewed by David Hyatt.
2358
2359         This patch extracts layer-related logic into a dedicated class
2360         (RenderLayerModelObject) and refactors dependent code to make use
2361         of the new type instead of RenderBoxModelObject. This is in preparation
2362         of adding non-RenderBoxModelObject layer supprt.
2363
2364         All methods that were using RenderBoxModelObject for layer-related
2365         functionality are updated to work with RenderLayerModelObject
2366         instead (a RenderLayer's renderer() can no longer be assumed to be
2367         a RenderBoxModelObject).
2368
2369         No new tests: refactoring with no behavior changes.
2370
2371         * CMakeLists.txt:
2372         * GNUmakefile.list.am:
2373         * Target.pri:
2374         * WebCore.exp.in:
2375         * WebCore.gypi:
2376         * WebCore.order:
2377         * WebCore.vcproj/WebCore.vcproj:
2378         * WebCore.xcodeproj/project.pbxproj:
2379         * rendering/LayoutRepainter.h:
2380         (WebCore):
2381         (LayoutRepainter):
2382         * rendering/RenderBR.h:
2383         * rendering/RenderBlock.cpp:
2384         (WebCore::RenderBlock::selectionGapRectsForRepaint):
2385         (WebCore::RenderBlock::rectWithOutlineForRepaint):
2386         * rendering/RenderBlock.h:
2387         (RenderBlock):
2388         * rendering/RenderBox.cpp:
2389         (WebCore::RenderBox::styleDidChange):
2390         (WebCore::RenderBox::updateFromStyle):
2391         (WebCore::RenderBox::outlineBoundsForRepaint):
2392         (WebCore::RenderBox::mapLocalToContainer):
2393         (WebCore::RenderBox::pushMappingToContainer):
2394         (WebCore::RenderBox::clippedOverflowRectForRepaint):
2395         (WebCore::RenderBox::computeRectForRepaint):
2396         (WebCore::RenderBox::enclosingFloatPaintingLayer):
2397         * rendering/RenderBox.h:
2398         (RenderBox):
2399         * rendering/RenderBoxModelObject.cpp:
2400         (WebCore):
2401         (WebCore::RenderBoxModelObject::RenderBoxModelObject):
2402         (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
2403         (WebCore::RenderBoxModelObject::willBeDestroyed):
2404         (WebCore::RenderBoxModelObject::updateFromStyle):
2405         * rendering/RenderBoxModelObject.h:
2406         (RenderBoxModelObject):
2407         * rendering/RenderGeometryMap.cpp:
2408         (WebCore::RenderGeometryMap::pushMappingsToAncestor):
2409         (WebCore::RenderGeometryMap::popMappingsToAncestor):
2410         * rendering/RenderGeometryMap.h:
2411         (RenderGeometryMap):
2412         * rendering/RenderInline.cpp:
2413         (WebCore::RenderInline::updateFromStyle):
2414         (WebCore::RenderInline::clippedOverflowRectForRepaint):
2415         (WebCore::RenderInline::rectWithOutlineForRepaint):
2416         (WebCore::RenderInline::computeRectForRepaint):
2417         (WebCore::RenderInline::mapLocalToContainer):
2418         (WebCore::RenderInline::pushMappingToContainer):
2419         * rendering/RenderInline.h:
2420         (RenderInline):
2421         * rendering/RenderLayer.cpp:
2422         (WebCore::RenderLayer::RenderLayer):
2423         (WebCore::RenderLayer::updateLayerPositions):
2424         (WebCore::RenderLayer::computeRepaintRects):
2425         (WebCore::checkContainingBlockChainForPagination):
2426         (WebCore::RenderLayer::updateLayerPosition):
2427         (WebCore::isPositionedContainer):
2428         (WebCore::RenderLayer::hasAncestorWithFilterOutsets):
2429         (WebCore::RenderLayer::scrollTo):
2430         (WebCore::RenderLayer::repaintIncludingNonCompositingDescendants):
2431         * rendering/RenderLayer.h:
2432         (RenderLayer):
2433         (WebCore::RenderLayer::renderer):
2434         * rendering/RenderLayerBacking.h:
2435         (WebCore::RenderLayerBacking::renderer):
2436         * rendering/RenderLayerCompositor.cpp:
2437         (WebCore::RenderLayerCompositor::updateBacking):
2438         (WebCore::RenderLayerCompositor::repaintOnCompositingChange):
2439         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
2440         (WebCore::RenderLayerCompositor::reasonForCompositing):
2441         * rendering/RenderListMarker.cpp:
2442         (WebCore::RenderListMarker::selectionRectForRepaint):
2443         * rendering/RenderListMarker.h:
2444         (RenderListMarker):
2445         * rendering/RenderObject.cpp:
2446         (WebCore::RenderObject::addChild):
2447         (WebCore::addLayers):
2448         (WebCore::RenderObject::removeLayers):
2449         (WebCore::RenderObject::moveLayers):
2450         (WebCore::RenderObject::findNextLayer):
2451         (WebCore::RenderObject::enclosingLayer):
2452         (WebCore::RenderObject::setLayerNeedsFullRepaint):
2453         (WebCore::RenderObject::setLayerNeedsFullRepaintForPositionedMovementLayout):
2454         (WebCore::RenderObject::containerForRepaint):
2455         (WebCore::RenderObject::repaintUsingContainer):
2456         (WebCore::RenderObject::repaint):
2457         (WebCore::RenderObject::repaintRectangle):
2458         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2459         (WebCore::RenderObject::rectWithOutlineForRepaint):
2460         (WebCore::RenderObject::clippedOverflowRectForRepaint):
2461         (WebCore::RenderObject::computeRectForRepaint):
2462         (WebCore::RenderObject::computeFloatRectForRepaint):
2463         (WebCore::RenderObject::adjustStyleDifference):
2464         (WebCore::RenderObject::mapLocalToContainer):
2465         (WebCore::RenderObject::pushMappingToContainer):
2466         (WebCore::RenderObject::shouldUseTransformFromContainer):
2467         (WebCore::RenderObject::getTransformFromContainer):
2468         (WebCore::RenderObject::localToContainerQuad):
2469         (WebCore::RenderObject::localToContainerPoint):
2470         (WebCore::RenderObject::container):
2471         (WebCore::RenderObject::willBeDestroyed):
2472         (WebCore::RenderObject::isComposited):
2473         * rendering/RenderObject.h:
2474         (WebCore):
2475         (WebCore::RenderObject::isLayerModelObject):
2476         (RenderObject):
2477         (WebCore::RenderObject::selectionRectForRepaint):
2478         (WebCore::RenderObject::outlineBoundsForRepaint):
2479         * rendering/RenderReplaced.cpp:
2480         (WebCore::RenderReplaced::selectionRectForRepaint):
2481         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
2482         * rendering/RenderReplaced.h:
2483         (RenderReplaced):
2484         * rendering/RenderSelectionInfo.h:
2485         (WebCore::RenderSelectionInfoBase::repaintContainer):
2486         (RenderSelectionInfoBase):
2487         * rendering/RenderTableCell.cpp:
2488         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
2489         (WebCore::RenderTableCell::computeRectForRepaint):
2490         * rendering/RenderTableCell.h:
2491         (RenderTableCell):
2492         * rendering/RenderTableCol.cpp:
2493         (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
2494         * rendering/RenderTableCol.h:
2495         (RenderTableCol):
2496         * rendering/RenderTableRow.cpp:
2497         (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
2498         * rendering/RenderTableRow.h:
2499         (RenderTableRow):
2500         * rendering/RenderText.cpp:
2501         (WebCore::RenderText::clippedOverflowRectForRepaint):
2502         (WebCore::RenderText::selectionRectForRepaint):
2503         * rendering/RenderText.h:
2504         (RenderText):
2505         * rendering/RenderLayerModelObject.cpp: Added.
2506         (WebCore):
2507         (WebCore::RenderLayerModelObject::RenderLayerModelObject):
2508         (WebCore::RenderLayerModelObject::~RenderLayerModelObject):
2509         (WebCore::RenderLayerModelObject::destroyLayer):
2510         (WebCore::RenderLayerModelObject::ensureLayer):
2511         (WebCore::RenderLayerModelObject::hasSelfPaintingLayer):
2512         (WebCore::RenderLayerModelObject::willBeDestroyed):
2513         (WebCore::RenderLayerModelObject::styleWillChange):
2514         (WebCore::RenderLayerModelObject::styleDidChange):
2515         * rendering/RenderLayerModelObject.h: Added.
2516         (WebCore):
2517         (RenderLayerModelObject):
2518         (WebCore::RenderLayerModelObject::layer):
2519         (WebCore::RenderLayerModelObject::updateFromStyle):
2520         (WebCore::toRenderLayerModelObject):
2521         * rendering/RenderView.cpp:
2522         (WebCore::RenderView::mapLocalToContainer):
2523         (WebCore::RenderView::pushMappingToContainer):
2524         (WebCore::isComposited):
2525         (WebCore::RenderView::computeRectForRepaint):
2526         (WebCore::RenderView::absoluteRects):
2527         (WebCore::RenderView::absoluteQuads):
2528         (WebCore::RenderView::selectionBounds):
2529         (WebCore::RenderView::setSelection):
2530         (WebCore::RenderView::clearSelection):
2531         * rendering/RenderView.h:
2532         (RenderView):
2533         * rendering/RenderingAllInOne.cpp:
2534         * rendering/svg/RenderSVGBlock.cpp:
2535         (WebCore::RenderSVGBlock::updateFromStyle):
2536         * rendering/svg/RenderSVGBlock.h:
2537         (RenderSVGBlock):
2538         * rendering/svg/RenderSVGForeignObject.cpp:
2539         (WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
2540         (WebCore::RenderSVGForeignObject::computeFloatRectForRepaint):
2541         (WebCore::RenderSVGForeignObject::mapLocalToContainer):
2542         (WebCore::RenderSVGForeignObject::pushMappingToContainer):
2543         * rendering/svg/RenderSVGForeignObject.h:
2544         (RenderSVGForeignObject):
2545         * rendering/svg/RenderSVGGradientStop.h:
2546         * rendering/svg/RenderSVGHiddenContainer.h:
2547         * rendering/svg/RenderSVGInline.cpp:
2548         (WebCore::RenderSVGInline::clippedOverflowRectForRepaint):
2549         (WebCore::RenderSVGInline::computeFloatRectForRepaint):
2550         (WebCore::RenderSVGInline::mapLocalToContainer):
2551         (WebCore::RenderSVGInline::pushMappingToContainer):
2552         * rendering/svg/RenderSVGInline.h:
2553         (RenderSVGInline):
2554         * rendering/svg/RenderSVGModelObject.cpp:
2555         (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
2556         (WebCore::RenderSVGModelObject::computeFloatRectForRepaint):
2557         (WebCore::RenderSVGModelObject::mapLocalToContainer):
2558         (WebCore::RenderSVGModelObject::pushMappingToContainer):
2559         (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
2560         * rendering/svg/RenderSVGModelObject.h:
2561         (RenderSVGModelObject):
2562         * rendering/svg/RenderSVGRoot.cpp:
2563         (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
2564         (WebCore::RenderSVGRoot::computeFloatRectForRepaint):
2565         (WebCore::RenderSVGRoot::mapLocalToContainer):
2566         (WebCore::RenderSVGRoot::pushMappingToContainer):
2567         * rendering/svg/RenderSVGRoot.h:
2568         (RenderSVGRoot):
2569         * rendering/svg/RenderSVGText.cpp:
2570         (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
2571         (WebCore::RenderSVGText::computeRectForRepaint):
2572         (WebCore::RenderSVGText::computeFloatRectForRepaint):
2573         (WebCore::RenderSVGText::mapLocalToContainer):
2574         (WebCore::RenderSVGText::pushMappingToContainer):
2575         * rendering/svg/RenderSVGText.h:
2576         (RenderSVGText):
2577         * rendering/svg/SVGRenderSupport.cpp:
2578         (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
2579         (WebCore::SVGRenderSupport::computeFloatRectForRepaint):
2580         (WebCore::SVGRenderSupport::mapLocalToContainer):
2581         (WebCore::SVGRenderSupport::pushMappingToContainer):
2582         * rendering/svg/SVGRenderSupport.h:
2583         (WebCore):
2584         (SVGRenderSupport):
2585
2586 2012-10-01  Stephen Chenney  <schenney@chromium.org>
2587
2588         Refactor WebCore::FontData handling to clarify pointer ownership
2589         https://bugs.webkit.org/show_bug.cgi?id=95866
2590
2591         Reviewed by Eric Seidel.
2592
2593         This patch makes all FontData and derived classes ref-counted in all
2594         code paths that lead to caching or other retention of a
2595         pointer. The goal is to avert crashes and memory leaks, and to bring
2596         the code more in line with current WebKit practices.
2597
2598         Specifically, this patch allows us to use ref pointers for all the
2599         FontData stored in FontFallbackList objects. The FontFallbackList can
2600         then own custom font data and manage its lifetime (forthcoming patch).
2601         Currently Document owns custom font data and does an end run around
2602         FontFallbackList in deleting glyph pages and custom font data, leaving
2603         FontFallbackList with invalid pointers.
2604
2605         All FontData derived classes have been switched to use static create
2606         methods with private constructors.
2607
2608         All caches that hold FontData now use RefPtrs.
2609
2610         All methods that construct new font data now return PassRefPtr, with the
2611         exception of code only used to generate temporary data for text run layout.
2612
2613         All methods that handle FontData in a call stack that passes through
2614         FontFallbackList::fontDataAt return PassRefPtr.
2615
2616         Performance tested with both WebKit Perf-o-matic, which showed
2617         performance changes in the noise, and Chrome's page cycling tests with
2618         the acid3 benchmark set, which showed no performance difference at all.
2619
2620         No new tests as this is refactoring code only and has no impact on functionality.
2621
2622         * css/CSSFontFace.cpp:
2623         (WebCore::CSSFontFace::getFontData):
2624         * css/CSSFontFace.h:
2625         (CSSFontFace):
2626         * css/CSSFontFaceSource.cpp:
2627         (WebCore::CSSFontFaceSource::getFontData):
2628         * css/CSSFontFaceSource.h:
2629         (CSSFontFaceSource):
2630         * css/CSSFontSelector.cpp:
2631         (WebCore::fontDataForGenericFamily):
2632         (WebCore::CSSFontSelector::getFontData):
2633         * css/CSSFontSelector.h:
2634         * css/CSSSegmentedFontFace.cpp:
2635         (WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading):
2636         (WebCore::CSSSegmentedFontFace::getFontData):
2637         * css/CSSSegmentedFontFace.h:
2638         (CSSSegmentedFontFace):
2639         * dom/Document.cpp:
2640         (WebCore::Document::registerCustomFont):
2641         * dom/Document.h:
2642         (Document):
2643         * platform/graphics/Font.h:
2644         (WebCore):
2645         * platform/graphics/FontCache.cpp:
2646         (WebCore):
2647         (WebCore::FontCache::getCachedFontData):
2648         (WebCore::FontCache::getNonRetainedLastResortFallbackFont):
2649         (WebCore::FontCache::releaseFontData):
2650         (WebCore::FontCache::purgeInactiveFontData):
2651         (WebCore::FontCache::getFontData):
2652         * platform/graphics/FontCache.h:
2653         (FontCache):
2654         * platform/graphics/FontData.h:
2655         * platform/graphics/FontFallbackList.cpp:
2656         (WebCore::FontFallbackList::releaseFontData):
2657         (WebCore::FontFallbackList::fontDataAt):
2658         (WebCore::FontFallbackList::setPlatformFont):
2659         * platform/graphics/FontFallbackList.h:
2660         (FontFallbackList):
2661         * platform/graphics/FontFastPath.cpp:
2662         (WebCore::Font::glyphDataAndPageForCharacter):
2663         * platform/graphics/FontSelector.h:
2664         (FontSelector):
2665         * platform/graphics/GlyphPageTreeNode.cpp:
2666         (WebCore::GlyphPageTreeNode::initializePage):
2667         * platform/graphics/SegmentedFontData.cpp:
2668         (WebCore::SegmentedFontData::fontDataForCharacter):
2669         * platform/graphics/SegmentedFontData.h:
2670         (WebCore::FontDataRange::FontDataRange):
2671         (WebCore::FontDataRange::fontData):
2672         (FontDataRange):
2673         (WebCore::SegmentedFontData::create):
2674         (SegmentedFontData):
2675         (WebCore::SegmentedFontData::SegmentedFontData):
2676         * platform/graphics/SimpleFontData.cpp:
2677         (WebCore::SimpleFontData::verticalRightOrientationFontData):
2678         (WebCore::SimpleFontData::uprightOrientationFontData):
2679         (WebCore::SimpleFontData::brokenIdeographFontData):
2680         * platform/graphics/SimpleFontData.h:
2681         (WebCore::SimpleFontData::create):
2682         (SimpleFontData):
2683         (WebCore::SimpleFontData::variantFontData):
2684         (DerivedFontData):
2685         * platform/graphics/chromium/FontCacheAndroid.cpp:
2686         (WebCore::FontCache::getFontDataForCharacters):
2687         (WebCore::FontCache::getSimilarFontPlatformData):
2688         (WebCore::FontCache::getLastResortFallbackFont):
2689         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2690         (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
2691         (GetLastResortFallbackFontProcData):
2692         (WebCore::FontCache::getFontDataForCharacters):
2693         (WebCore::FontCache::getSimilarFontPlatformData):
2694         (WebCore::FontCache::getLastResortFallbackFont):
2695         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2696         (WebCore::SimpleFontData::createScaledFontData):
2697         (WebCore::SimpleFontData::smallCapsFontData):
2698         (WebCore::SimpleFontData::emphasisMarkFontData):
2699         * platform/graphics/freetype/FontCacheFreeType.cpp:
2700         (WebCore::FontCache::getFontDataForCharacters):
2701         (WebCore::FontCache::getSimilarFontPlatformData):
2702         (WebCore::FontCache::getLastResortFallbackFont):
2703         * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
2704         (WebCore::SimpleFontData::createScaledFontData):
2705         (WebCore::SimpleFontData::smallCapsFontData):
2706         (WebCore::SimpleFontData::emphasisMarkFontData):
2707         * platform/graphics/mac/ComplexTextControllerCoreText.mm:
2708         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
2709         * platform/graphics/mac/FontCacheMac.mm:
2710         (WebCore::FontCache::getFontDataForCharacters):
2711         (WebCore::FontCache::getSimilarFontPlatformData):
2712         (WebCore::FontCache::getLastResortFallbackFont):
2713         * platform/graphics/mac/FontComplexTextMac.cpp:
2714         (WebCore::Font::fontDataForCombiningCharacterSequence):
2715         * platform/graphics/mac/SimpleFontDataMac.mm:
2716         (WebCore::SimpleFontData::platformDestroy):
2717         (WebCore::SimpleFontData::createScaledFontData):
2718         (WebCore::SimpleFontData::smallCapsFontData):
2719         (WebCore::SimpleFontData::emphasisMarkFontData):
2720         * platform/graphics/pango/FontCachePango.cpp:
2721         (WebCore::FontCache::getFontDataForCharacters):
2722         (WebCore::FontCache::getSimilarFontPlatformData):
2723         (WebCore::FontCache::getLastResortFallbackFont):
2724         * platform/graphics/pango/SimpleFontDataPango.cpp:
2725         (WebCore::SimpleFontData::createScaledFontData):
2726         (WebCore::SimpleFontData::smallCapsFontData):
2727         (WebCore::SimpleFontData::emphasisMarkFontData):
2728         * platform/graphics/qt/FontCacheQt.cpp:
2729         (WebCore::FontCache::getFontDataForCharacters):
2730         (WebCore::FontCache::getSimilarFontPlatformData):
2731         (WebCore::FontCache::getLastResortFallbackFont):
2732         * platform/graphics/qt/SimpleFontDataQt.cpp:
2733         (WebCore::SimpleFontData::createScaledFontData):
2734         (WebCore::SimpleFontData::smallCapsFontData):
2735         (WebCore::SimpleFontData::emphasisMarkFontData):
2736         * platform/graphics/skia/FontCacheSkia.cpp:
2737         (WebCore::FontCache::getFontDataForCharacters):
2738         (WebCore::FontCache::getSimilarFontPlatformData):
2739         (WebCore::FontCache::getLastResortFallbackFont):
2740         * platform/graphics/skia/SimpleFontDataSkia.cpp:
2741         (WebCore::SimpleFontData::createScaledFontData):
2742         (WebCore::SimpleFontData::smallCapsFontData):
2743         (WebCore::SimpleFontData::emphasisMarkFontData):
2744         * platform/graphics/win/FontCacheWin.cpp:
2745         (WebCore::FontCache::getFontDataForCharacters):
2746         (WebCore::FontCache::getSimilarFontPlatformData):
2747         (WebCore::FontCache::fontDataFromDescriptionAndLogFont):
2748         (WebCore::FontCache::getLastResortFallbackFont):
2749         * platform/graphics/win/SimpleFontDataWin.cpp:
2750         (WebCore::SimpleFontData::createScaledFontData):
2751         (WebCore::SimpleFontData::smallCapsFontData):
2752         (WebCore::SimpleFontData::emphasisMarkFontData):
2753         * platform/graphics/wince/FontCacheWinCE.cpp:
2754         (WebCore::FontCache::getFontDataForCharacters):
2755         (WebCore::FontCache::getSimilarFontPlatformData):
2756         (WebCore::FontCache::getLastResortFallbackFont):
2757         * platform/graphics/wince/SimpleFontDataWinCE.cpp:
2758         (WebCore::SimpleFontData::createScaledFontData):
2759         (WebCore::SimpleFontData::smallCapsFontData):
2760         (WebCore::SimpleFontData::emphasisMarkFontData):
2761         * platform/graphics/wx/FontCacheWx.cpp:
2762         (WebCore::FontCache::getFontDataForCharacters):
2763         (WebCore::FontCache::getSimilarFontPlatformData):
2764         (WebCore::FontCache::getLastResortFallbackFont):
2765         * platform/graphics/wx/SimpleFontDataWx.cpp:
2766         (WebCore::SimpleFontData::createScaledFontData):
2767         (WebCore::SimpleFontData::smallCapsFontData):
2768         (WebCore::SimpleFontData::emphasisMarkFontData):
2769
2770 2012-10-01  Ryosuke Niwa  <rniwa@webkit.org>
2771
2772         Turn forbidEventDispatch and allowEventDispatch into a RAII object
2773         https://bugs.webkit.org/show_bug.cgi?id=96717
2774
2775         Reviewed by Abhishek Arya.
2776
2777         Replaced forbidEventDispatch and allowEventDispatch by AssertNoEventDispatch.
2778
2779         * dom/ContainerNode.cpp:
2780         (WebCore):
2781         (WebCore::ContainerNode::insertBeforeCommon):
2782         (WebCore::ContainerNode::replaceChild):
2783         (WebCore::ContainerNode::removeBetween):
2784         (WebCore::ContainerNode::removeChildren):
2785         (WebCore::ContainerNode::appendChild):
2786         (WebCore::ContainerNode::parserAddChild):
2787         (WebCore::dispatchChildInsertionEvents):
2788         (WebCore::dispatchChildRemovalEvents):
2789         * dom/ContainerNode.h:
2790         (AssertNoEventDispatch):
2791         (WebCore::AssertNoEventDispatch::AssertNoEventDispatch):
2792         (WebCore::AssertNoEventDispatch::~AssertNoEventDispatch):
2793         (WebCore::AssertNoEventDispatch::isEventDispatchForbidden):
2794         (WebCore):
2795         * dom/ContainerNodeAlgorithms.h:
2796         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
2797         (WebCore::ChildNodeInsertionNotifier::notify):
2798         (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):
2799         * dom/Document.cpp:
2800         (WebCore::Document::dispatchWindowEvent):
2801         (WebCore::Document::dispatchWindowLoadEvent):
2802         * dom/EventDispatcher.cpp:
2803         (WebCore::EventDispatcher::dispatchEvent):
2804         * dom/EventTarget.cpp:
2805         (WebCore):
2806         (WebCore::EventTarget::fireEventListeners):
2807         * dom/EventTarget.h:
2808         (WebCore):
2809         * dom/Node.cpp:
2810         (WebCore::Node::dispatchSubtreeModifiedEvent):
2811         (WebCore::Node::dispatchFocusInEvent):
2812         (WebCore::Node::dispatchFocusOutEvent):
2813         (WebCore::Node::dispatchDOMActivateEvent):
2814         * dom/WebKitNamedFlow.cpp:
2815         (WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):
2816         * html/HTMLMediaElement.cpp:
2817         (WebCore::HTMLMediaElement::loadInternal):
2818
2819 2012-10-01  Anders Carlsson  <andersca@apple.com>
2820
2821         Would like a way to customize the type of GraphicsLayers created on a per page basis
2822         https://bugs.webkit.org/show_bug.cgi?id=98051
2823
2824         Reviewed by Simon Fraser.
2825
2826         Add a GraphicsLayerFactory abstract class and a new GraphicsLayer::create overload that takes
2827         a factory object. Eventually, all calls to the old GraphicsLayer::create will be replaced with
2828         the new version that takes an optional factory.
2829
2830         * WebCore.xcodeproj/project.pbxproj:
2831         * platform/graphics/GraphicsLayer.h:
2832         (WebCore):
2833         (GraphicsLayer):
2834         * platform/graphics/GraphicsLayerFactory.h: Added.
2835         (WebCore):
2836         (GraphicsLayerFactory):
2837         (WebCore::GraphicsLayerFactory::~GraphicsLayerFactory):
2838         * platform/graphics/ca/GraphicsLayerCA.cpp:
2839         (WebCore::GraphicsLayer::create):
2840         (WebCore):
2841
2842 2012-10-01  Adam Klein  <adamk@chromium.org>
2843
2844         Consolidate more MutationObserverRegistration logic in Node
2845         https://bugs.webkit.org/show_bug.cgi?id=98058
2846
2847         Reviewed by Ryosuke Niwa.
2848
2849         One remaining oddity of Node's MutationObserver-related interface was
2850         that registerMutationObserver returned the resulting MutationObserverRegistration
2851         object.
2852
2853         Instead, Node now internally handles resetting the observation
2854         if the registration already exists, and updating the Document's list of
2855         mutation observer types.
2856
2857         No change in behavior, refactoring only.
2858
2859         * dom/MutationObserver.cpp:
2860         (WebCore::MutationObserver::observe): Simplified to just call
2861         Node::registerMutationObserver; nothing else is needed.
2862         * dom/MutationObserverRegistration.cpp:
2863         (WebCore::MutationObserverRegistration::create): Take options and attributeFilter,
2864         avoiding an unnecessary call to resetObservation().
2865         (WebCore::MutationObserverRegistration::MutationObserverRegistration): ditto
2866         * dom/MutationObserverRegistration.h:
2867         (MutationObserverRegistration):
2868         * dom/Node.cpp:
2869         (WebCore::Node::registerMutationObserver): Handle observation
2870         resetting if that observer's already registered, and update the list
2871         of active MutationObserver types in the Document.
2872         * dom/Node.h:
2873         (Node):
2874
2875 2012-10-01  Glenn Adams  <glenn@skynav.com>
2876
2877         YYDEBUG doesn't print token values
2878         https://bugs.webkit.org/show_bug.cgi?id=97896
2879
2880         Reviewed by Simon Fraser.
2881
2882         Define YYPRINT macro to print token values when YYDEBUG is set.
2883
2884         No new tests. For CSS lexer/parser debug usage only.
2885
2886         * css/CSSGrammar.y:
2887         Define YYPRINT macro to output IDENT and STRING typed tokens. Others can be added
2888         in the future.
2889
2890 2012-10-01  Jochen Eisinger  <jochen@chromium.org>
2891
2892         [chromium] ASSERT that the embedder has set a default locale
2893         https://bugs.webkit.org/show_bug.cgi?id=98001
2894
2895         Reviewed by Adam Barth.
2896
2897         The callsites assume that the default language is always defined, e.g.
2898         Document::getCachedLocalizer. Add an ASSERT() statement so an embedder
2899         doesn't have to guess what they did wrong.
2900
2901         * platform/chromium/LanguageChromium.cpp:
2902         (WebCore::platformLanguage):
2903
2904 2012-10-01  Christophe Dumez  <christophe.dumez@intel.com>
2905
2906         Fix compilation warnings
2907         https://bugs.webkit.org/show_bug.cgi?id=98020
2908
2909         Reviewed by Gyuyoung Kim.
2910
2911         Fix compilation warnings in PluginView code.
2912
2913         No new tests, no behavior change.
2914
2915         * plugins/PluginView.cpp:
2916         (WebCore::PluginView::newStream):
2917         (WebCore::PluginView::write):
2918         (WebCore::PluginView::getAuthenticationInfo):
2919         * plugins/efl/PluginViewEfl.cpp:
2920         (WebCore::PluginView::setNPWindowRect):
2921         (WebCore::PluginView::invalidateRegion):
2922
2923 2012-10-01  Arpita Bahuguna  <arpitabahuguna@gmail.com>
2924
2925         RenderBlock incorrectly calculates pref width when a replaced object follows a RenderInline with width
2926         https://bugs.webkit.org/show_bug.cgi?id=84624
2927
2928         Reviewed by Levi Weintraub.
2929
2930         For the specific scenario, wherein an inline replaced element (image)
2931         follows an inline flow object within a render block, we should allow
2932         for that block to grow to accomodate the replaced element so as to
2933         avoid it's overflow.
2934
2935         This quirk is handled well by other browsers.
2936
2937         Test: fast/block/block-with-inline-replaced-child.html
2938
2939         * rendering/RenderBlock.cpp:
2940         (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
2941         We should not cause our line to break for the scenario wherein an inline
2942         replaced element follows an inline flow object.
2943
2944         For handling the same have introduced a flag: isPrevChildInlineFlow which
2945         shall be set for an inline flow element.
2946         Based on this, while handling the inline replaced elements, we either
2947         terminate the line (for minWidth calculation) or not depending upon
2948         this flag.
2949
2950 2012-10-01  Yury Semikhatsky  <yurys@chromium.org>
2951
2952         Unreviewed. Chromium build fix.
2953
2954         * bindings/v8/V8DOMMap.h: included Node.h as reportMemoryUsage now uses Node definition.
2955
2956 2012-10-01  Yury Semikhatsky  <yurys@chromium.org>
2957
2958         Web Inspector: provide memory instrumentation for HashMap
2959         https://bugs.webkit.org/show_bug.cgi?id=98005
2960
2961         Reviewed by Pavel Feldman.
2962
2963         Updated all call sites of MemoryInstrumentation::addHashMap to use generic
2964         method of reporting memory footprint instead. 
2965
2966         * bindings/v8/ScopedDOMDataStore.cpp:
2967         * bindings/v8/V8Binding.cpp:
2968         (WebCore::StringCache::reportMemoryUsage):
2969         * bindings/v8/V8DOMMap.h:
2970         * bindings/v8/V8PerIsolateData.cpp:
2971         (WebCore::V8PerIsolateData::reportMemoryUsage):
2972         * css/CSSImageGeneratorValue.cpp:
2973         (WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage):
2974         * css/PropertySetCSSStyleDeclaration.cpp:
2975         (WebCore::PropertySetCSSStyleDeclaration::reportMemoryUsage):
2976         * css/StyleResolver.cpp:
2977         (WebCore::StyleResolver::collectMatchingRulesForList):
2978         * css/StyleSheetContents.cpp:
2979         (WebCore::StyleSheetContents::reportMemoryUsage):
2980         * dom/Document.cpp:
2981         (WebCore::Document::reportMemoryUsage):
2982         * loader/DocumentLoader.cpp:
2983         (WebCore::DocumentLoader::reportMemoryUsage):
2984         * loader/cache/CachedResourceLoader.cpp:
2985         (WebCore::CachedResourceLoader::reportMemoryUsage):
2986         * loader/cache/MemoryCache.cpp:
2987         (WebCore::MemoryCache::reportMemoryUsage):
2988         * platform/network/ResourceRequestBase.cpp:
2989         (WebCore::ResourceRequestBase::reportMemoryUsage):
2990         * platform/network/ResourceResponseBase.cpp:
2991         (WebCore::ResourceResponseBase::reportMemoryUsage):
2992         * rendering/style/StyleRareNonInheritedData.cpp:
2993
2994 2012-10-01  Yury Semikhatsky  <yurys@chromium.org>
2995
2996         Put implementation details of StyleBuilder.cpp into anonymous namespace
2997         https://bugs.webkit.org/show_bug.cgi?id=98028
2998
2999         Reviewed by Pavel Feldman.
3000
3001         All types that are declared and used only inside StyleBuilder were moved
3002         into anonymous namespace to avoid name conflicts with the rest of WebCore.
3003
3004         * css/StyleBuilder.cpp:
3005         (WebCore::StyleBuilder::StyleBuilder): renamed BorderImageType::Image into BorderImageType::BorderImage
3006         as otherwise there is an ambiguity at placess where setPropertyHandler is called.
3007
3008 2012-10-01  Andrei Bucur  <abucur@adobe.com>
3009
3010         [CSS Regions] Remove the deprecated API Document.webkitGetFlowByName
3011         https://bugs.webkit.org/show_bug.cgi?id=97657
3012
3013         Reviewed by Andreas Kling.
3014
3015         The Document.getFlowByName() API has been deprecated in favor of the NamedFlowCollection.namedItem(DOMString).
3016         Link to spec: http://www.w3.org/TR/css3-regions/#the-namedflow-interface
3017
3018         Tests: The old tests have been adapted to use the new API.
3019
3020         * dom/Document.cpp:
3021         (WebCore):
3022         * dom/Document.h:
3023         (Document):
3024         * dom/Document.idl:
3025
3026 2012-09-27  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
3027
3028         Make sure that the history position is applied correctly when using delegatesScrolling
3029         https://bugs.webkit.org/show_bug.cgi?id=97778
3030
3031         Reviewed by Kenneth Rohde Christiansen.
3032
3033         The position is applied asynchronously and the UI process is the one holding the current
3034         state. For this reason we can't rely in WebCore on ScrollView::scrollPosition holding
3035         the current position in that case.
3036
3037         * page/Page.cpp:
3038         (WebCore::Page::setPageScaleFactor):
3039
3040 2012-09-27  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
3041
3042         [Qt] Decide when to apply a scrolled position to the viewport based on the rect covered by the tiles
3043         https://bugs.webkit.org/show_bug.cgi?id=97777
3044
3045         Reviewed by Kenneth Rohde Christiansen.
3046
3047         * platform/graphics/TiledBackingStore.cpp:
3048         (WebCore::TiledBackingStore::createTiles):
3049         * platform/graphics/TiledBackingStore.h:
3050         (WebCore::TiledBackingStore::coverRect):
3051         (WebCore::TiledBackingStore::setCoverRect):
3052         (TiledBackingStore):
3053
3054 2012-10-01  Carlos Garcia Campos  <cgarcia@igalia.com>
3055
3056         Unreviewed. Fix make distcheck.
3057
3058         * GNUmakefile.list.am: ClipPathOperation.h was moved.
3059
3060 2012-10-01  Arko Saha  <arko@motorola.com>
3061
3062         Microdata: names.item() must return null for out of range indexes.
3063         https://bugs.webkit.org/show_bug.cgi?id=97898
3064
3065         Reviewed by Kentaro Hara.
3066
3067         DOMStringList.item() must return null for an invalid index.
3068         Spec: http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMStringList
3069         Removed [IsIndex] extended IDL attribute from item() method's index
3070         parameter in DOMStringList interface.
3071         Firefox and Opera's behavior is consistent with the spec. Both
3072         returns null for invalid index.
3073
3074         Test: fast/dom/MicroData/names-item-out-of-range-index.html
3075
3076         * dom/DOMStringList.idl:
3077
3078 2012-10-01  Yoshifumi Inoue  <yosin@chromium.org>
3079
3080         [Forms] Multiple fields week input UI
3081         https://bugs.webkit.org/show_bug.cgi?id=97877
3082
3083         Reviewed by Kent Tamura.
3084
3085         This patch introduces multiple fields "week" input UI in DRT. We'll
3086         enable this feature once we add tests.
3087
3088         Note: This patch affects ports which enable both ENABLE_INPUT_TYPE_WEEK
3089         and ENABLE_INPUT_MULTIPLE_FIELDS_UI.
3090
3091         No new tests. To reduce size of this patch, other patches add tests
3092         for multiple fields week input UI.
3093
3094         Note: Actual outputs of two tests
3095           - fast/forms/week/week-input-visible-string.html
3096           - fast/forms/week/week-stepup-stepdown-from-renderer.html
3097         are different.
3098
3099         * css/thml.css:
3100         (input::-webkit-datetime-edit-week-field): Added for field appearance.
3101         (input::-webkit-datetime-edit-week-field:focus): Added to remove focus ring.
3102         * html/WeekInputType.cpp:
3103         (WebCore::WeekInputType::formatDateTimeFieldsState): Added to format numeric value to string value as specified in HTML5 specification.
3104         (WebCore::WeekInputType::setupLayoutParameters):  Added to set layout of multiple fields.
3105         * html/WeekInputType.h: Changed to include BaseMultipleFieldsDateAndTimeInputType.h and introduce BaseWeekInputType typedef.
3106         (WebCore::WeekInputType::WeekInputType): Changed base class name to BaseWeekInputType.
3107         (WeekInputType): Changed to add declarations for formatDateTimeFieldsState() and setupLayoutParameters().
3108         * html/shadow/DateTimeEditElement.cpp:
3109         (WebCore::DateTimeEditBuilder::visitField): Changed to support week field.
3110
3111 2012-10-01  Pavel Feldman  <pfeldman@chromium.org>
3112
3113         Web Inspector: do not use InspectorInstrumentation::hasFrontends() check when collecting stacks
3114         https://bugs.webkit.org/show_bug.cgi?id=96730
3115
3116         Reviewed by Vsevolod Vlasov.
3117
3118         - Introduced InspectorInstrumentation::console|timeline|runtime|canvasAgentEnabled
3119         - Using it all over the place instead of the hasFrontend (the latter is now only used once to guard hot path)
3120         - Introduced explicit "enabled" state of the console and runtime agents
3121
3122         * bindings/js/JSHTMLCanvasElementCustom.cpp:
3123         (WebCore::JSHTMLCanvasElement::getContext):
3124         * bindings/js/JSMainThreadExecState.h:
3125         (WebCore::JSMainThreadExecState::instrumentFunctionCall):
3126         * bindings/js/ScheduledAction.cpp:
3127         (WebCore::ScheduledAction::create):
3128         * bindings/js/ScriptCallStackFactory.cpp:
3129         (WebCore::createScriptCallStackForConsole):
3130         * bindings/js/ScriptCallStackFactory.h:
3131         (WebCore):
3132         * bindings/scripts/CodeGeneratorJS.pm:
3133         (GenerateCallWith):
3134         * bindings/scripts/CodeGeneratorV8.pm:
3135         (GenerateCallWith):
3136         * bindings/scripts/test/JS/JSTestObj.cpp:
3137         (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
3138         (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
3139         (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
3140         * bindings/scripts/test/V8/V8TestObj.cpp:
3141         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
3142         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
3143         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackCallback):
3144         * bindings/v8/ScriptCallStackFactory.cpp:
3145         (WebCore::createScriptCallStackForConsole):
3146         * bindings/v8/ScriptCallStackFactory.h:
3147         (WebCore):
3148         * bindings/v8/ScriptController.cpp:
3149         (WebCore::ScriptController::callFunctionWithInstrumentation):
3150         * bindings/v8/V8DOMWindowShell.cpp:
3151         (WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
3152         * bindings/v8/V8WorkerContextEventListener.cpp:
3153         (WebCore::V8WorkerContextEventListener::callListenerFunction):
3154         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3155         (WebCore::WindowSetTimeoutImpl):
3156         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3157         (WebCore::V8HTMLCanvasElement::getContextCallback):
3158         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3159         (WebCore::SetTimeoutOrInterval):
3160         * inspector/Inspector.json:
3161         * inspector/InspectorConsoleAgent.cpp:
3162         (WebCore):
3163         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
3164         (WebCore::InspectorConsoleAgent::enable):
3165         (WebCore::InspectorConsoleAgent::disable):
3166         (WebCore::InspectorConsoleAgent::clearMessages):
3167         (WebCore::InspectorConsoleAgent::clearFrontend):
3168         (WebCore::InspectorConsoleAgent::addConsoleMessage):
3169         * inspector/InspectorConsoleAgent.h:
3170         (WebCore::InspectorConsoleAgent::enabled):
3171         (InspectorConsoleAgent):
3172         * inspector/InspectorController.cpp:
3173         (WebCore::InspectorController::connectFrontend):
3174         (WebCore::InspectorController::disconnectFrontend):
3175         * inspector/InspectorInstrumentation.cpp:
3176         (WebCore):
3177         (WebCore::InspectorInstrumentation::canvasAgentEnabled):
3178         (WebCore::InspectorInstrumentation::consoleAgentEnabled):
3179         (WebCore::InspectorInstrumentation::runtimeAgentEnabled):
3180         (WebCore::InspectorInstrumentation::timelineAgentEnabled):
3181         * inspector/InspectorInstrumentation.h:
3182         (InspectorInstrumentation):
3183         (WebCore::InspectorInstrumentation::canvasAgentEnabled):
3184         (WebCore::InspectorInstrumentation::consoleAgentEnabled):
3185         (WebCore::InspectorInstrumentation::runtimeAgentEnabled):
3186         (WebCore::InspectorInstrumentation::timelineAgentEnabled):
3187         * inspector/InspectorRuntimeAgent.cpp:
3188         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
3189         * inspector/InspectorRuntimeAgent.h:
3190         (WebCore::InspectorRuntimeAgent::enabled):
3191         (WebCore::InspectorRuntimeAgent::enable):
3192         (WebCore::InspectorRuntimeAgent::disable):
3193         (InspectorRuntimeAgent):
3194         * inspector/PageRuntimeAgent.cpp:
3195         (PageRuntimeAgentState):
3196         (WebCore::PageRuntimeAgent::clearFrontend):
3197         (WebCore::PageRuntimeAgent::restore):
3198         (WebCore):
3199         (WebCore::PageRuntimeAgent::enable):
3200         (WebCore::PageRuntimeAgent::disable):
3201         (WebCore::PageRuntimeAgent::didClearWindowObject):
3202         (WebCore::PageRuntimeAgent::didCreateIsolatedContext):
3203         (WebCore::PageRuntimeAgent::reportExecutionContextCreation):
3204         * inspector/PageRuntimeAgent.h:
3205         (PageRuntimeAgent):
3206         * inspector/WorkerRuntimeAgent.cpp:
3207         * inspector/WorkerRuntimeAgent.h:
3208         * inspector/front-end/RuntimeModel.js:
3209         (WebInspector.RuntimeModel.prototype._didLoadCachedResources):
3210         * page/DOMWindow.cpp:
3211         (WebCore::DOMWindow::postMessage):
3212
3213 2012-10-01  Kenichi Ishibashi  <bashi@chromium.org>
3214
3215         [WebSocket] Setting wrong value to binaryType should not raise exception
3216         https://bugs.webkit.org/show_bug.cgi?id=97999
3217
3218         Reviewed by Yuta Kitamura.
3219
3220         Don't raise exception when binaryType is the wrong value.
3221         Instead, show an error message to console.
3222
3223         No new tests. Updated existing test.
3224
3225         * Modules/websockets/WebSocket.cpp:
3226         (WebCore::WebSocket::setBinaryType): See the description.
3227         * Modules/websockets/WebSocket.h:
3228         (WebSocket): Removed ExceptionCode argument of setBinaryType().
3229         * Modules/websockets/WebSocket.idl:
3230         Removed "setter raises(DOMException)" and "[TreatReturnedNullStringAs=Undefined]".
3231         They are no longer needed.
3232
3233 2012-10-01  Yoshifumi Inoue  <yosin@chromium.org>
3234
3235         [Forms] Adding DateTimeWeekFieldElement for multiple fields "week" input UI
3236         https://bugs.webkit.org/show_bug.cgi?id=97992
3237
3238         Reviewed by Kent Tamura.
3239
3240         This patch introduces DateTimeWeekFieldElement class for implementing
3241         multiple fields "week" input UI.
3242
3243         No new tests. This patch doesn't change behavior.
3244
3245         * html/shadow/DateTimeFieldElements.cpp:
3246         (WebCore::DateTimeWeekFieldElement::DateTimeWeekFieldElement): Added.
3247         (WebCore::DateTimeWeekFieldElement::create): Added.
3248         (WebCore::DateTimeWeekFieldElement::populateDateTimeFieldsState): Added.
3249         (WebCore::DateTimeWeekFieldElement::setValueAsDate): Added.
3250         (WebCore::DateTimeWeekFieldElement::setValueAsDateTimeFieldsState): Added.
3251         * html/shadow/DateTimeFieldElements.h:
3252         (DateTimeWeekFieldElement): Added.
3253         * platform/DateComponents.h:
3254         (WebCore::DateComponents): Added declarations of static const member variables, DateComponents::maximumWeekNumber and minimumWeekNumber.
3255         * platform/DateComponents.cpp: Added definitions of DateComponents::maximumWeekNumber and minimumWeekNumber.
3256         (WebCore::DateComponents::maxWeekNumberInYear): Changed to use maximumWeekNumber.
3257         (WebCore::DateComponents::parseWeek): Changed to use minimumWeekNumber.
3258
3259 2012-09-30  Vsevolod Vlasov  <vsevik@chromium.org>
3260
3261         Web Inspector: Separate CSSStyleModelResourceBinding into resource and content binding.
3262         https://bugs.webkit.org/show_bug.cgi?id=97994
3263
3264         Reviewed by Pavel Feldman.
3265
3266         Extracted StyleContentBinding from CSSStyleModelResourceBinding.
3267         Now CSSStyleModelResourceBinding is responsible for mapping between stylesheets and resources.
3268         StyleContentBinding is now responsible for synchronization between stylesheet content and uiSourceCode content.
3269
3270         * inspector/front-end/CSSStyleModel.js:
3271         (WebInspector.CSSStyleModelResourceBinding):
3272         (WebInspector.CSSStyleModelResourceBinding.prototype.requestStyleSheetIdForResource):
3273         (WebInspector.CSSStyleModelResourceBinding.prototype.requestResourceURLForStyleSheetId):
3274         * inspector/front-end/StyleSource.js:
3275         (WebInspector.StyleSource.prototype._commitIncrementalEdit):
3276         * inspector/front-end/StylesSourceMapping.js:
3277         (WebInspector.StyleContentBinding):
3278         (WebInspector.StyleContentBinding.prototype.setStyleContent.callback):
3279         (WebInspector.StyleContentBinding.prototype.setStyleContent):
3280         (WebInspector.StyleContentBinding.prototype._innerSetContent.callback):
3281         (WebInspector.StyleContentBinding.prototype._innerSetContent):
3282         (WebInspector.StyleContentBinding.prototype._styleSheetChanged.callback):
3283         (WebInspector.StyleContentBinding.prototype._styleSheetChanged):
3284         (WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):
3285         * inspector/front-end/inspector.js:
3286
3287 2012-10-01  Alexander Pavlov  <apavlov@chromium.org>
3288
3289         Web Inspector: [Device Metrics] Remove the gutter overlay moving its functionality into the InspectorOverlay
3290         https://bugs.webkit.org/show_bug.cgi?id=97799
3291
3292         Reviewed by Pavel Feldman.
3293
3294         Re-applying r129746 with test flakiness fixed.
3295
3296        &nb