Unreviewed, rolling out r143044.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-15  Sheriff Bot  <webkit.review.bot@gmail.com>
2
3         Unreviewed, rolling out r143044.
4         http://trac.webkit.org/changeset/143044
5         https://bugs.webkit.org/show_bug.cgi?id=109974
6
7         broke windows build (Requested by kling on #webkit).
8
9         * dom/DocumentSharedObjectPool.cpp:
10         (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
11         * dom/Element.cpp:
12         (WebCore::sizeForShareableElementDataWithAttributeCount):
13         (WebCore::ShareableElementData::ShareableElementData):
14         (WebCore::ShareableElementData::~ShareableElementData):
15         (WebCore::UniqueElementData::UniqueElementData):
16         * dom/Element.h:
17         (WebCore::ShareableElementData::immutableAttributeArray):
18         (ShareableElementData):
19         (WebCore::ElementData::attributeItem):
20
21 2013-02-15  Adam Barth  <abarth@webkit.org>
22
23         Enable the preload scanner on the background parser thread
24         https://bugs.webkit.org/show_bug.cgi?id=108027
25
26         Reviewed by Tony Gentilcore.
27
28         The patch causes us to pass all the fast/preloader tests with the
29         threaded parser enabled.
30
31         This patch wires up the BackgroundHTMLParser to the
32         TokenPreloadScanner.  Currently, we bail out of preload scanning if we
33         encounter a document.write becaues we don't know how to rewind the
34         preload scanner, but that's something we can tune in the future.
35
36         The BackgroundHTMLParser delivers the preloads to the
37         HTMLDocumentParser together with the token stream. If the
38         HTMLDocumentParser isn't able to use the token stream immediately, it
39         kicks off the preloads.
40
41         * html/parser/BackgroundHTMLParser.cpp:
42         (WebCore::checkThatPreloadsAreSafeToSendToAnotherThread):
43         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
44         (WebCore::BackgroundHTMLParser::resumeFrom):
45         (WebCore::BackgroundHTMLParser::pumpTokenizer):
46         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
47         * html/parser/BackgroundHTMLParser.h:
48         (Configuration):
49             - We need to add a struct for the create function because the
50               number of arguments exceeds the limits of Functional.h.
51         (BackgroundHTMLParser):
52         (WebCore::BackgroundHTMLParser::create):
53         * html/parser/CSSPreloadScanner.cpp:
54         (WebCore::CSSPreloadScanner::scanCommon):
55         (WebCore::CSSPreloadScanner::scan):
56         (WebCore::CSSPreloadScanner::emitRule):
57             - We need to use a new string here so that the string is safe to
58               send to another thread.
59         * html/parser/CSSPreloadScanner.h:
60         (CSSPreloadScanner):
61         * html/parser/HTMLDocumentParser.cpp:
62         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
63         (WebCore::HTMLDocumentParser::startBackgroundParser):
64             - Following the example of the XSSAuditor, we create the
65               TokenPreloadScanner on the main thread and then send it to the
66               background thread for operation.
67         * html/parser/HTMLDocumentParser.h:
68         (WebCore):
69         (ParsedChunk):
70         * html/parser/HTMLParserOptions.h:
71         (HTMLParserOptions):
72             - We need to add a default constructor so that the
73               HTMLDocumentParser can create an empty
74               BackgroundHTMLParser::Configuration struct.
75         * html/parser/HTMLPreloadScanner.cpp:
76         (WebCore::TokenPreloadScanner::scan):
77         (WebCore::TokenPreloadScanner::scanCommon):
78         (WebCore::HTMLPreloadScanner::scan):
79         * html/parser/HTMLPreloadScanner.h:
80         (TokenPreloadScanner):
81         (WebCore::TokenPreloadScanner::isSafeToSendToAnotherThread):
82         * html/parser/HTMLResourcePreloader.cpp:
83         (WebCore::HTMLResourcePreloader::takeAndPreload):
84         (WebCore):
85         * html/parser/HTMLResourcePreloader.h:
86         (WebCore::PreloadRequest::PreloadRequest):
87         (WebCore):
88         (HTMLResourcePreloader):
89
90 2013-02-15  Ryosuke Niwa  <rniwa@webkit.org>
91
92         Build fix after r143030. We need to keep updatedRange around until createMarkupInternal returns.
93
94         * editing/markup.cpp:
95         (WebCore::createMarkup):
96
97 2013-02-15  Rik Cabanier  <cabanier@adobe.com>
98
99         Add platform support for -webkit-background-blend-mode to CG context
100         https://bugs.webkit.org/show_bug.cgi?id=108549
101
102         Reviewed by Dean Jackson.
103
104         Tests: css3/compositing/effect-background-blend-mode-stacking.html
105                css3/compositing/effect-background-blend-mode.html
106
107         This patch adds support for blending on background images to the Core Graphics port of WebKit.
108
109         * platform/graphics/CrossfadeGeneratedImage.cpp: Added interface change for blending.
110         (WebCore::CrossfadeGeneratedImage::drawPattern):
111         * platform/graphics/CrossfadeGeneratedImage.h: Added interface change for blending.
112         (CrossfadeGeneratedImage):
113         * platform/graphics/GeneratedImage.h: Added interface change for blending.
114         (GeneratedImage):
115         * platform/graphics/GeneratorGeneratedImage.cpp: Added interface change for blending.
116         (WebCore::GeneratorGeneratedImage::drawPattern):
117         * platform/graphics/GeneratorGeneratedImage.h: Added interface change for blending.
118         (GeneratorGeneratedImage):
119         * platform/graphics/GraphicsContext.cpp: Added interface change for blending and passes blend mode to image object.
120         (WebCore::GraphicsContext::drawTiledImage):
121         (WebCore::GraphicsContext::blendModeOperation):
122         (WebCore):
123         * platform/graphics/GraphicsContext.h: Added interface change for blending.
124         (GraphicsContext):
125         * platform/graphics/Image.cpp: Added interface change for blending and passed it to graphics layer.
126         (WebCore::Image::drawTiled):
127         * platform/graphics/Image.h: Added interface change for blending.
128         (Image):
129         * platform/graphics/cg/ImageCG.cpp: Added interface change for blending and passed it to OS.
130         (WebCore::Image::drawPattern):
131         * rendering/RenderBoxModelObject.cpp: Passed blend mode when drawing background images.
132         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
133         * platform/graphics/cairo/ImageCairo.cpp: Added interface change for blending.
134         (WebCore::Image::drawPattern):
135         * platform/graphics/qt/ImageQt.cpp: Added interface change for blending.
136         (WebCore::Image::drawPattern):
137         * platform/graphics/skia/ImageSkia.cpp: Added interface change for blending.
138         (WebCore::Image::drawPattern):
139         * rendering/RenderBoxModelObject.cpp: Added interface change for blending.
140         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
141         * svg/graphics/SVGImageForContainer.cpp: Added interface change for blending.
142         (WebCore::SVGImageForContainer::drawPattern):
143         * svg/graphics/SVGImageForContainer.h: Added interface change for blending.
144
145 2013-02-14  Emil A Eklund  <eae@chromium.org>
146
147         Clamp span value in RenderTableCell::parse[Col|Row]SpanFromDOM
148         https://bugs.webkit.org/show_bug.cgi?id=109878
149
150         Reviewed by Abhishek Arya.
151
152         Test: fast/table/colspan-huge-number.html
153         
154         Clamp colspan and rowspan values to their respective maximum
155         supported values.
156
157         * rendering/RenderTableCell.cpp:
158         (WebCore::RenderTableCell::parseColSpanFromDOM):
159         (WebCore::RenderTableCell::parseRowSpanFromDOM):
160
161 2013-02-15  Andreas Kling  <akling@apple.com>
162
163         ShareableElementData should use zero-length array for storage.
164         <http://webkit.org/b/109959>
165
166         Reviewed by Anders Carlsson.
167
168         Use a zero-length Attribute array instead of always casting from void* to an array.
169         It was done this way originally because I didn't know we could sidestep the MSVC
170         build error with some #pragma hackery.
171
172         * dom/DocumentSharedObjectPool.cpp:
173         (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
174         * dom/Element.cpp:
175         (WebCore::sizeForShareableElementDataWithAttributeCount):
176         (WebCore::ShareableElementData::ShareableElementData):
177         (WebCore::ShareableElementData::~ShareableElementData):
178         (WebCore::UniqueElementData::UniqueElementData):
179         * dom/Element.h:
180         (ShareableElementData):
181         (WebCore::ElementData::attributeItem):
182
183 2013-02-14  Ojan Vafai  <ojan@chromium.org>
184
185         Implement RenderGrid::computeIntrinsicLogicalWidths
186         https://bugs.webkit.org/show_bug.cgi?id=109881
187
188         Reviewed by Tony Chang.
189
190         For now this is not observable due to the FIXMEs for unimplemented bits
191         of computePreferredLogicalWidths. But, soon, I'll be removing the computePreferredLogicalWidths
192         override entirely and instead use RenderBlock's, which will also address the
193         RenderGrid FIXMEs.
194
195         * rendering/RenderGrid.cpp:
196         (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
197         const_cast the usages of m_grid. Alternately, we could stack allocate it, but there's disagreement on
198         whether that's the right choice. See https://bugs.webkit.org/show_bug.cgi?id=109880.
199
200         (WebCore::RenderGrid::computePreferredLogicalWidths):
201         * rendering/RenderGrid.h:
202
203
204 2013-02-15  Xueqing Huang  <huangxueqing@baidu.com>
205
206         Flexbox should ignore firstLine pseudo element.
207         https://bugs.webkit.org/show_bug.cgi?id=104485
208
209         Reviewed by Tony Chang.
210
211         Spec[1] said that "None of the properties defined in this module
212         apply to '::first-line' or '::first-letter' pseudo-elements." and
213         css2[2] define "The :first-line pseudo-element can only be attached
214         to a block container element." 
215         [1]http://dev.w3.org/csswg/css3-flexbox/#display-flex
216         [2]http://www.w3.org/TR/CSS2/selector.html#first-line-pseudo
217
218         tests:
219         css3/flexbox/flexbox-ignore-firstLine.html
220         css3/flexbox/flexitem-firstLine-valid.html
221         css3/flexbox/inline-flexbox-ignore-firstLine.html 
222
223         * rendering/RenderBlock.cpp:
224         (WebCore::RenderBlock::firstLineBlock):
225
226 2013-02-15  Alec Flett  <alecflett@chromium.org>
227
228         IndexedDB: Implement SharedBuffer version of put()
229         https://bugs.webkit.org/show_bug.cgi?id=109092
230
231         Reviewed by Adam Barth.
232
233         Switch IDBDatabaseBackendInterface::put over
234         to SharedBuffer, to avoid buffer copies of the value.
235
236         No new tests, this is a refactor.
237
238         * Modules/indexeddb/IDBBackingStore.cpp:
239         (WebCore::IDBBackingStore::putRecord):
240         * Modules/indexeddb/IDBBackingStore.h:
241         (WebCore):
242         (IDBBackingStore):
243         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
244         (WebCore::PutOperation::create):
245         (WebCore::PutOperation::PutOperation):
246         (PutOperation):
247         (WebCore::IDBDatabaseBackendImpl::put):
248         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
249         (IDBDatabaseBackendImpl):
250         * Modules/indexeddb/IDBDatabaseBackendInterface.h:
251         (WebCore):
252         * Modules/indexeddb/IDBObjectStore.cpp:
253         (WebCore::IDBObjectStore::put):
254
255 2013-02-15  Anders Carlsson  <andersca@apple.com>
256
257         Implement StorageAreaProxy::length
258         https://bugs.webkit.org/show_bug.cgi?id=109962
259
260         Reviewed by Andreas Kling.
261
262         Export a symbol needed by WebKit2.
263
264         * WebCore.exp.in:
265
266 2013-02-15  Anders Carlsson  <andersca@apple.com>
267
268         Remove const from a bunch of StorageArea member functions
269         https://bugs.webkit.org/show_bug.cgi?id=109957
270
271         Reviewed by Beth Dakin.
272
273         StorageArea is an abstract base class, and its subclasses might want to mutate the object
274         when certain member functions are called so remove const from all member functions.
275
276         * storage/StorageArea.h:
277         (WebCore):
278         (StorageArea):
279         (WebCore::StorageArea::~StorageArea):
280         (WebCore::StorageArea::incrementAccessCount):
281         (WebCore::StorageArea::decrementAccessCount):
282         (WebCore::StorageArea::closeDatabaseIfIdle):
283         * storage/StorageAreaImpl.cpp:
284         (WebCore::StorageAreaImpl::canAccessStorage):
285         (WebCore::StorageAreaImpl::length):
286         (WebCore::StorageAreaImpl::key):
287         (WebCore::StorageAreaImpl::getItem):
288         (WebCore::StorageAreaImpl::contains):
289         (WebCore::StorageAreaImpl::memoryBytesUsedByCache):
290         * storage/StorageAreaImpl.h:
291         (StorageAreaImpl):
292
293 2013-02-13  Ryosuke Niwa  <rniwa@webkit.org>
294
295         DeleteButtonController::enable and disable should be called via a RAII object
296         https://bugs.webkit.org/show_bug.cgi?id=109550
297
298         Reviewed by Enrica Casucci.
299
300         Added DeleteButtonControllerDisableScope, a friend class of DeleteButtonController,
301         and made DeleteButtonController::enable/disable private.
302
303         * dom/ContainerNode.cpp:
304         * editing/CompositeEditCommand.cpp:
305         (WebCore::EditCommandComposition::unapply):
306         (WebCore::EditCommandComposition::reapply):
307         (WebCore::CompositeEditCommand::apply):
308         * editing/DeleteButtonController.h:
309         (WebCore):
310         (DeleteButtonController):
311         (DeleteButtonControllerDisableScope):
312         (WebCore::DeleteButtonControllerDisableScope::DeleteButtonControllerDisableScope):
313         (WebCore::DeleteButtonControllerDisableScope::~DeleteButtonControllerDisableScope):
314         * editing/markup.cpp:
315         (WebCore::createMarkup):
316         (WebCore::createFragmentFromNodes):
317
318 2013-02-15  Max Vujovic  <mvujovic@adobe.com>
319
320         Add code from other branch.
321
322         [CSS Shaders] Parse src property in @-webkit-filter at-rules
323         https://bugs.webkit.org/show_bug.cgi?id=109770
324
325         Reviewed by Dean Jackson.
326
327         This patch implements the parsing for the CSS src property in @-webkit-filter at-rules.
328
329         The Filter Effects spec [1] specifies its syntax:
330             src: [ <uri> [format(<string>)]?]#
331
332         In practice, it can look like:
333             src: url(shader.vs) format('x-shader/x-vertex'),
334                  url(shader.fs) format('x-shader/x-fragment');
335
336         This src property is similar to the src property in CSS font-face rules, but a little
337         different. The CSS Fonts spec [2] specifies:
338             src: [ <uri> [format(<string>#)]? | <font-face-name> ]#
339             The syntax for a <font-face-name> is a unique font face name enclosed by "local("
340             and ")".
341
342         Unlike the filter src property, the font face src property accepts the local function
343         [e.g. src: local("SomeFont");]. Also, the font face src property accepts a list of strings
344         instead of just one string in its format function.
345
346         [1]: https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-src
347         [2]: http://www.w3.org/TR/css3-fonts/#src-desc
348
349         Tests: css3/filters/custom-with-at-rule-syntax/parsing-src-property-invalid.html
350                css3/filters/custom-with-at-rule-syntax/parsing-src-property-valid.html
351
352         * css/CSSGrammar.y.in:
353             Set (and unset) a flag called "m_inFilterRule", which tells us if we are in a
354             @-webkit-filter at-rule or in a @font-face at-rule when we encounter a src property.
355             We parse the two variants of the src property separately so that we can create different
356             objects (WebKitCSSShaderValue vs. CSSFontFaceSrcValue) and because their syntax is a
357             little different.
358         * css/CSSParser.cpp:
359         (WebCore::CSSParser::CSSParser):
360         (WebCore::CSSParser::parseValue):
361         (WebCore::CSSParser::parseFilterRuleSrcUriAndFormat):
362             Parses a URI and format pair found in the @-webkit-filter src property.
363         (WebCore::CSSParser::parseFilterRuleSrc):
364             Parse the @-webkit-filter src property.
365         * css/CSSParser.h:
366         (CSSParser):
367         * css/WebKitCSSShaderValue.cpp:
368         (WebCore::WebKitCSSShaderValue::customCssText):
369             WebKitCSSShaderValue now has an m_format member, which needs to be included in its
370             cssText.
371         (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
372         * css/WebKitCSSShaderValue.h:
373         (WebCore::WebKitCSSShaderValue::format):
374         (WebCore::WebKitCSSShaderValue::setFormat):
375         (WebKitCSSShaderValue):
376
377 2013-02-15  Eric Carlson  <eric.carlson@apple.com>
378
379         Crash occurs at WebCore::TextTrackList::length() when enabling closed captions in movie
380         https://bugs.webkit.org/show_bug.cgi?id=109886
381
382         Reviewed by Dean Jackson.
383
384         No new tests, media/media-captions.html does not crash with this change.
385
386         * html/HTMLMediaElement.cpp:
387         (WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Early return when
388             m_textTracks is NULL.
389
390 2013-02-15  Adam Barth  <abarth@webkit.org>
391
392         TokenPreloadScanner should be able to scan CompactHTMLTokens
393         https://bugs.webkit.org/show_bug.cgi?id=109861
394
395         Reviewed by Eric Seidel.
396
397         This patch moves the main scanning logic for the TokenPreloadScanner to
398         a templated scanCommon routine that can scan either an HTMLToken or a
399         CompactHTMLToken. This patch will let the BackgroundHTMLParser preload
400         scan its CompactHTMLTokens.
401
402         * html/parser/CSSPreloadScanner.cpp:
403         (WebCore):
404         (WebCore::CSSPreloadScanner::scanCommon):
405         (WebCore::CSSPreloadScanner::scan):
406         * html/parser/CSSPreloadScanner.h:
407         (CSSPreloadScanner):
408             - Tweak the CSSPreloadScanner API slightly to make it easier to
409               call from templated code.
410         * html/parser/HTMLPreloadScanner.cpp:
411         (WebCore::TokenPreloadScanner::tagIdFor):
412         (WebCore):
413         (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
414         (TokenPreloadScanner::StartTagScanner):
415         (WebCore::TokenPreloadScanner::scan):
416         (WebCore::TokenPreloadScanner::scanCommon):
417         (WebCore::TokenPreloadScanner::updatePredictedBaseURL):
418         (WebCore::HTMLPreloadScanner::scan):
419         * html/parser/HTMLPreloadScanner.h:
420         (TokenPreloadScanner):
421
422 2013-02-15  Alexis Menard  <alexis@webkit.org>
423
424         WebKit shouldn't accept "none, none" in transition shorthand property.
425         https://bugs.webkit.org/show_bug.cgi?id=108751
426
427         Reviewed by Dean Jackson.
428
429         http://dev.w3.org/csswg/css3-transitions/#transition-shorthand-property
430         specifies that if there is more than one transition defined in the
431         shorthand and any of them has a value of 'none' then the declaration is
432         invalid. This patch fixes the problem by passing a parsing context to
433         track if a keyword has been set for the transition-property and if so
434         then use it to invalidate or not the declaration.
435
436         Test: transitions/transitions-parsing.html
437
438         * css/CSSParser.cpp:
439         (AnimationParseContext):
440         (WebCore::AnimationParseContext::AnimationParseContext):
441         (WebCore::AnimationParseContext::commitFirstAnimation): track whether
442         it's the first <single-transition/animation> or not defined in the
443         shorthand.
444         (WebCore::AnimationParseContext::hasCommittedFirstAnimation):
445         (WebCore::AnimationParseContext::commitAnimationPropertyKeywordInShorthand):
446         In the shorthand as soon as a keyword has been found then the parsing
447         is 'finished', if any other animation/transition declaration part of
448         the shorthand are with a keyword then it's invalid.
449         (WebCore::AnimationParseContext::animationPropertyKeywordInShorthandAllowed):
450         (WebCore::AnimationParseContext::hasSeenAnimationPropertyKeyword):
451         (WebCore::AnimationParseContext::sawAnimationPropertyKeyword):
452         (WebCore):
453         (WebCore::CSSParser::parseValue):
454         (WebCore::CSSParser::parseAnimationShorthand):
455         (WebCore::CSSParser::parseTransitionShorthand):
456         (WebCore::CSSParser::parseAnimationProperty):
457         * css/CSSParser.h:
458         (WebCore):
459
460 2013-02-15  Andreas Kling  <akling@apple.com>
461
462         ElementData: Move leafy things out of the base class.
463         <http://webkit.org/b/109888>
464
465         Reviewed by Antti Koivisto.
466
467         - Moved functions for mutating/adding/removing attributes into UniqueElementData.
468           Attempts to modify shared element data will now fail at compile-time.
469
470         - Removed mutableAttributeVector() and have call sites access the vector directly.
471
472         - Move immutableAttributeArray() to ShareableElementData.
473
474         - Move some function bodies from Element.h to Element.cpp since all clients are in there.
475
476         * dom/Element.cpp:
477         (WebCore::Element::addAttributeInternal):
478         (WebCore::ShareableElementData::ShareableElementData):
479         (WebCore::UniqueElementData::makeShareableCopy):
480         (WebCore::UniqueElementData::addAttribute):
481         (WebCore::UniqueElementData::removeAttribute):
482         (WebCore::ElementData::reportMemoryUsage):
483         (WebCore::UniqueElementData::getAttributeItem):
484         (WebCore::UniqueElementData::attributeItem):
485         * dom/Element.h:
486         (ElementData):
487         (WebCore::ShareableElementData::immutableAttributeArray):
488         (ShareableElementData):
489         (UniqueElementData):
490         (WebCore::ElementData::length):
491         (WebCore::ElementData::attributeItem):
492
493 2013-02-15  Hans Muller  <hmuller@adobe.com>
494
495         [CSS Exclusions] Enable shape-inside support for circles
496         https://bugs.webkit.org/show_bug.cgi?id=109713
497
498         Reviewed by Dirk Schulze.
499
500         Removed the test that disabled circle values for shape-inside.
501         The remaining support for circles, which is based on rounded rectangles
502         whose width/height is equal to their radiusX/radiusY, has not changed.
503
504         Test: fast/exclusions/shape-inside/shape-inside-circle.html
505
506         * rendering/ExclusionShapeInsideInfo.h:
507         (WebCore::ExclusionShapeInsideInfo::isEnabledFor): Now only disallows ellipse.
508
509 2013-02-15  Christophe Dumez  <ch.dumez@sisa.samsung.com>
510
511         [Soup] Leverage new soup_cookie_jar_get_cookie_list() API
512         https://bugs.webkit.org/show_bug.cgi?id=109931
513
514         Reviewed by Kenneth Rohde Christiansen.
515
516         In several cases, the CookieJarSoup implementation was retrieving / copying ALL the
517         cookies using soup_cookie_jar_all_cookies() and then using soup_cookie_applies_to_uri()
518         to filter out cookies it is not interested in. This was inefficient.
519
520         In libsoup 2.40, soup_cookie_jar_get_cookie_list() was introduced to retrieve only the
521         cookies that apply to a given URI. This patch leverages this new API in CookieJarSoup's
522         getRawCookies() and deleteCookie(). This way, only the cookies we are interested in
523         are retrieved and copied. Libsoup does not need to iterate over all the cookies itself
524         because it keeps the cookies in a hash table using the host names as key.
525
526         No new tests, no behavior change.
527
528         * platform/network/soup/CookieJarSoup.cpp:
529         (WebCore::getRawCookies):
530         (WebCore::deleteCookie):
531
532 2013-02-15  Vladislav Kaznacheev  <kaznacheev@chromium.org>
533
534         Web Inspector: Added an option to split Elements and Sources sidebars in two panes.
535         https://bugs.webkit.org/show_bug.cgi?id=109298.
536
537         Reviewed by Vsevolod Vlasov.
538
539         Introduced the "Split sidebar" context menu option that splits the horizontal sidebar into two panes.
540         The width split ratio is 1:1 by default and is preserved when the Inspector window is resized.
541         Elements sidebar is split into two tabbed panes, Sources sidebar is split into a pane stack and a tabbed pane.
542
543         No new tests.
544
545         * inspector/front-end/DOMBreakpointsSidebarPane.js:
546         (WebInspector.DOMBreakpointsSidebarPane.Proxy.prototype._reattachBody):
547         * inspector/front-end/ElementsPanel.js:
548         (WebInspector.ElementsPanel.get this):
549         (WebInspector.ElementsPanel):
550         (WebInspector.ElementsPanel.prototype._sidebarContextMenuEventFired):
551         (WebInspector.ElementsPanel.prototype._populateContextMenuForSidebar.toggleSetting):
552         (WebInspector.ElementsPanel.prototype.get _arrangeSidebarPanes.get this):
553         (WebInspector.ElementsPanel.prototype.addExtensionSidebarPane):
554         * inspector/front-end/ExtensionServer.js:
555         (WebInspector.ExtensionServer.prototype._onCreateSidebarPane):
556         * inspector/front-end/ScriptsPanel.js:
557         (WebInspector.ScriptsPanel):
558         (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
559         (WebInspector.ScriptsPanel.prototype._contextMenuEventFired):
560         (WebInspector.ScriptsPanel.prototype._sidebarContextMenuEventFired):
561         (WebInspector.ScriptsPanel.prototype._populateContextMenuForSidebar.toggleSetting):
562         (WebInspector.ScriptsPanel.prototype.get _arrangeSidebarPanes.get this):
563         * inspector/front-end/SidebarPane.js:
564         (WebInspector.SidebarPane):
565         (WebInspector.SidebarPane.prototype.expand):
566         (WebInspector.SidebarPane.prototype.onContentReady):
567         (WebInspector.SidebarPane.prototype._setExpandCallback):
568         (WebInspector.SidebarPane.prototype.wasShown):
569         (WebInspector.SidebarPaneTitle):
570         (WebInspector.SidebarPaneTitle.prototype._expand):
571         (WebInspector.SidebarPaneTitle.prototype._collapse):
572         (WebInspector.SidebarPaneTitle.prototype._toggleExpanded):
573         (WebInspector.SidebarPaneTitle.prototype._onTitleKeyDown):
574         (WebInspector.SidebarPaneStack):
575         (WebInspector.SidebarPaneStack.prototype.addPane):
576         (WebInspector.SidebarTabbedPane):
577         (WebInspector.SidebarTabbedPane.prototype.addPane):
578         * inspector/front-end/SidebarView.js:
579         * inspector/front-end/SplitView.js:
580         (WebInspector.SplitView):
581         (WebInspector.SplitView.prototype.get mainElement):
582         (WebInspector.SplitView.prototype.get sidebarElement):
583
584 2013-02-15  Vsevolod Vlasov  <vsevik@chromium.org>
585
586         Web Inspector: Several consecutive Backspace or Delete strikes should not be marked as undoable state.
587         https://bugs.webkit.org/show_bug.cgi?id=109915
588
589         Reviewed by Pavel Feldman.
590
591         Extracted _isEditRangeUndoBoundary() and _isEditRangeAdjacentToLastCommand() in TextEditorModel
592         to detect if markUndoableState() call is needed before and after editRange.
593
594         * inspector/front-end/TextEditorModel.js:
595         (WebInspector.TextRange.prototype.immediatelyPrecedes):
596         (WebInspector.TextRange.prototype.immediatelyFollows):
597         (WebInspector.TextEditorModel.endsWithBracketRegex.):
598
599 2013-02-15  Andrey Adaikin  <aandrey@chromium.org>
600
601         Fix inconsistency in WebGLRenderingContext.idl for getAttribLocation
602         https://bugs.webkit.org/show_bug.cgi?id=109892
603
604         Reviewed by Kentaro Hara.
605
606         * html/canvas/WebGLRenderingContext.idl:
607
608 2013-02-15  Andrey Adaikin  <aandrey@chromium.org>
609
610         Web Inspector: [Canvas] show replay log grouped by draw calls
611         https://bugs.webkit.org/show_bug.cgi?id=109592
612
613         Reviewed by Pavel Feldman.
614
615         Show canvas capturing log grouped by drawing calls.
616         Drive-by: extended Array.prototype with a handy peekLast function.
617         Drive-by: removed code dups in few places.
618
619         * inspector/front-end/CanvasProfileView.js:
620         (WebInspector.CanvasProfileView):
621         (WebInspector.CanvasProfileView.prototype.dispose):
622         (WebInspector.CanvasProfileView.prototype._onReplayStepClick):
623         (WebInspector.CanvasProfileView.prototype._onReplayDrawingCallClick):
624         (WebInspector.CanvasProfileView.prototype._onReplayLastStepClick):
625         (WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
626         (WebInspector.CanvasProfileView.prototype._replayTraceLog):
627         (WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
628         (WebInspector.CanvasProfileView.prototype._selectedCallIndex):
629         (WebInspector.CanvasProfileView.prototype._selectedDrawCallGroupIndex):
630         (WebInspector.CanvasProfileView.prototype._appendCallNode):
631         * inspector/front-end/DataGrid.js:
632         (WebInspector.DataGrid.prototype.setColumnVisible):
633         (WebInspector.DataGridNode.prototype.set hasChildren):
634         (WebInspector.DataGridNode.prototype.set revealed):
635         (WebInspector.DataGridNode.prototype.get leftPadding):
636         * inspector/front-end/externs.js:
637         (Array.prototype.peekLast):
638         * inspector/front-end/utilities.js:
639
640 2013-02-15  Yury Semikhatsky  <yurys@chromium.org>
641
642         Web Inspector: highlight record revealed in Timeline
643         https://bugs.webkit.org/show_bug.cgi?id=109930
644
645         Reviewed by Pavel Feldman.
646
647         Revealed timeline record is now highlighted with yellow background
648         that fades out in 2 seconds.
649
650         * inspector/front-end/TimelinePanel.js:
651         (WebInspector.TimelinePanel.prototype._revealRecord):
652         (WebInspector.TimelinePanel.prototype._refreshRecords):
653         (WebInspector.TimelinePanel.prototype._clearRecordHighlight):
654         * inspector/front-end/timelinePanel.css:
655         (.highlighted-timeline-record):
656         (@-webkit-keyframes timeline_record_highlight):
657         (to):
658
659 2013-02-15  Vsevolod Vlasov  <vsevik@chromium.org>
660
661         Web Inspector: Pass original selection to textModel to correctly restore it after undo.
662         https://bugs.webkit.org/show_bug.cgi?id=109911
663
664         Reviewed by Pavel Feldman.
665
666         We can distinguish backspace pressed with and without selection now.
667
668         * inspector/front-end/DefaultTextEditor.js:
669         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
670         (WebInspector.DefaultTextEditor.WordMovementController.prototype._handleCtrlBackspace):
671         * inspector/front-end/TextEditorModel.js:
672         (WebInspector.TextEditorCommand):
673         (WebInspector.TextEditorModel.endsWithBracketRegex.):
674
675 2013-02-15  Joe Mason  <jmason@rim.com>
676
677         [BlackBerry] Remove redundant requireAuth parameter of NetworkJob::notifyAuthReceived
678         https://bugs.webkit.org/show_bug.cgi?id=109855
679
680         Reviewed by Yong Li.
681
682         Internal PR: 296697
683         Internally Reviewed By: Leo Yang
684
685         Code cleanup: The requireAuth parameter of NetworkJob::notifyAuthReceived is redundant as its value
686         can be determined from "result" - if result is AuthResultRetry, requireAuth is false, otherwise it
687         is true.
688
689         No new tests as there is no behaviour change.
690
691         * platform/network/blackberry/NetworkJob.cpp:
692         (WebCore::NetworkJob::notifyAuthReceived):
693         * platform/network/blackberry/NetworkJob.h:
694         (NetworkJob):
695
696 2013-02-15  Vsevolod Vlasov  <vsevik@chromium.org>
697
698         Web Inspector: Redo in text editor should always collapse selection to end.
699         https://bugs.webkit.org/show_bug.cgi?id=109907
700
701         Reviewed by Pavel Feldman.
702
703         * inspector/front-end/TextEditorModel.js:
704         (WebInspector.TextEditorModel.endsWithBracketRegex.):
705
706 2013-02-15  Dan Carney  <dcarney@google.com>
707
708         [v8] persistent handle dispose before last use
709         https://bugs.webkit.org/show_bug.cgi?id=109927
710
711         Reviewed by Jochen Eisinger.
712
713         No new tests. No change in functionality.
714
715         * bindings/v8/ScriptWrappable.h:
716         (WebCore::ScriptWrappable::weakCallback):
717
718 2013-02-15  Keishi Hattori  <keishi@webkit.org>
719
720         PagePopupController.formatMonth should support short month format
721         https://bugs.webkit.org/show_bug.cgi?id=109530
722
723         Reviewed by Kent Tamura.
724
725         PagePopupController.formatMonth should support short month format so we
726         can use it in the new calendar picker.
727
728         Tested by LocaleMacTest::formatMonth.
729
730         * page/PagePopupController.cpp:
731         (WebCore::PagePopupController::formatMonth): Take an extra bool argument to switch to short month format.
732         * page/PagePopupController.h:
733         (PagePopupController):
734         * page/PagePopupController.idl:
735         * platform/text/LocaleICU.cpp:
736         (WebCore::LocaleICU::shortMonthFormat):
737         (WebCore):
738         * platform/text/LocaleICU.h:
739         (LocaleICU):
740         * platform/text/LocaleNone.cpp:
741         (WebCore::shortMonthFormat):
742         (WebCore):
743         * platform/text/PlatformLocale.cpp:
744         (WebCore::DateTimeStringBuilder::visitField):
745         (WebCore::Locale::formatDateTime):
746         * platform/text/PlatformLocale.h:
747         (Locale):
748         * platform/text/mac/LocaleMac.h:
749         (LocaleMac):
750         * platform/text/mac/LocaleMac.mm:
751         (WebCore::LocaleMac::shortMonthFormat):
752         (WebCore):
753         * platform/text/win/LocaleWin.cpp:
754         (WebCore::LocaleWin::shortMonthFormat): Windows doesn't have a short
755         month format so we just replace MMMM with MMM.
756         (WebCore):
757         * platform/text/win/LocaleWin.h:
758         (LocaleWin):
759
760 2013-02-15  Keishi Hattori  <keishi@webkit.org>
761
762         Add setValue and closePopup methods to PagePopupController
763         https://bugs.webkit.org/show_bug.cgi?id=109897
764
765         Reviewed by Kent Tamura.
766
767         The new calendar picker (Bug 109439) needs to set a value without
768         closing the popup. We can't do that with the existing
769         setValueAndClosePopup.
770
771         No new tests. Existing calendar picker and color suggestion picker tests
772         that closing and setting values work properly.
773
774         * Resources/pagepopups/pickerCommon.js:
775         (Picker.prototype.submitValue): Stop using setValueAndClosePopup.
776         (Picker.prototype.handleCancel): Ditto.
777         * page/PagePopupClient.h:
778         (PagePopupClient):
779         * page/PagePopupController.cpp:
780         (WebCore::PagePopupController::setValue): Sets value to element without closing popup.
781         (WebCore):
782         (WebCore::PagePopupController::closePopup): Just closes popup.
783         * page/PagePopupController.h:
784         (PagePopupController):
785         * page/PagePopupController.idl:
786
787 2013-02-15  Mihnea Ovidenie  <mihnea@adobe.com>
788
789         [CSS Regions] RenderRegion should inherit from RenderBlock
790         https://bugs.webkit.org/show_bug.cgi?id=74132
791
792         Reviewed by Julien Chaffraix.
793
794         Change the base class for RenderRegion to be RenderBlock instead of RenderReplaced.
795         Per spec http://dev.w3.org/csswg/css3-regions/#the-flow-from-property, a region is a non-replaced block container.
796         This change is covered by the existing regions tests (in fast/region and fast/repaint).
797
798         The RenderFlowThread object is a self-painting layer (it requires layer and is positioned).
799         Because of that, the RenderFlowThread object is responsible for painting its children,
800         the collected objects. When the RenderRegion::paintObject is called during paint, it delegates painting
801         of content collected inside the flow thread to the associated RenderFlowThread object.
802         Since we do not want to paint the flow thread content multiple times (for each paint phase
803         in which the RenderRegion::paintObject is called), we allow RenderFlowThread painting only for
804         selection and foreground paint phases.
805
806         * rendering/RenderBox.cpp: Clean-up the code from regions specific stuff, now that the regions are render blocks.
807         (WebCore::RenderBox::computePositionedLogicalWidth):
808         (WebCore::RenderBox::computePositionedLogicalHeight):
809         * rendering/RenderLayerBacking.cpp: A region should always render content from its associated flow thread,
810         even when it does not have children of its own.
811         (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
812         * rendering/RenderMultiColumnSet.cpp: Make changes to match the new inheritance for RenderRegion.
813         (WebCore::RenderMultiColumnSet::paint):
814         (WebCore::RenderMultiColumnSet::paintColumnRules):
815         * rendering/RenderMultiColumnSet.h:
816         * rendering/RenderRegion.cpp:
817         (WebCore::RenderRegion::RenderRegion):
818         (WebCore::RenderRegion::paintObject):
819         (WebCore::RenderRegion::styleDidChange):
820         (WebCore::RenderRegion::layoutBlock):
821         (WebCore::RenderRegion::insertedIntoTree):
822         (WebCore::RenderRegion::willBeRemovedFromTree):
823         (WebCore::RenderRegion::computePreferredLogicalWidths): Use this method instead of min/maxPreferredLogicalWidth.
824         (WebCore::RenderRegion::updateLogicalHeight):
825         * rendering/RenderRegion.h: For now, assume the region is not allowed to have children.
826         When we will implement the processing model for pseudo-elements http://dev.w3.org/csswg/css3-regions/#processing-model,
827         we will have to remove this function. By having this function return false i was able to leave some tests unchanged.
828
829 2013-02-15  Andrey Lushnikov  <lushnikov@chromium.org>
830
831         Web Inspector: implement smart braces functionality
832         https://bugs.webkit.org/show_bug.cgi?id=109200
833
834         Reviewed by Pavel Feldman.
835
836         - implement SmartBraceController which will handle character insertions
837         and override them if brace character was inserted. Additionally it
838         should handle Backspace key and override it if a cursor is located
839         inside of a bracket pair.
840         - guard smart brace functionality via experiment checkbox.
841
842         New test: inspector/editor/text-editor-smart-braces.html
843
844         * inspector/front-end/DefaultTextEditor.js:
845         (WebInspector.TextEditorMainPanel):
846         (WebInspector.TextEditorMainPanel.prototype._registerShortcuts):
847         (WebInspector.TextEditorMainPanel.prototype._handleKeyPress):
848         (WebInspector.TextEditorMainPanel.SmartBraceController):
849         (WebInspector.TextEditorMainPanel.SmartBraceController.prototype.registerShortcuts):
850         (WebInspector.TextEditorMainPanel.SmartBraceController.prototype.registerCharOverrides):
851         (WebInspector.TextEditorMainPanel.SmartBraceController.prototype._handleBackspace):
852         (WebInspector.TextEditorMainPanel.SmartBraceController.prototype._handleBracePairInsertion):
853         (WebInspector.TextEditorMainPanel.SmartBraceController.prototype._handleClosingBraceOverride):
854         * inspector/front-end/Settings.js:
855         (WebInspector.ExperimentsSettings):
856
857 2013-02-15  Andrei Bucur  <abucur@adobe.com>
858
859         [CSS Regions][Mac] fast/regions/full-screen-video-from-region.html hits an assertion in RenderFlowThread::removeRenderBoxRegionInfo
860         https://bugs.webkit.org/show_bug.cgi?id=106075
861
862         Reviewed by Tony Chang.
863
864         The crash is caused by two issues.
865
866         The first problem is how a block inside a flow thread determines if the children needs relayout or not.
867         When the region chain is invalidated, the information is lost so we need to return true, even for the
868         enclosing RenderFlowThread. Because the video renderer is the first child of the flow thread this doesn't
869         happen.
870
871         The patch implements this behaviour by inspecting both if the region chain has changed and
872         if the block has no range computed yet.
873
874         The second problem is RenderMedia not inheriting from RenderBlock. The logic of child relayout doesn't apply
875         to it. In the test case, when the full screen button is pressed, the region changes width to fill the viewport,
876         the chain is invalidated and the box info hash map is cleared. When the video is laid out again (after fixing
877         the first issue) it has the same size so the controls don't do a layout. They remain without box info inside
878         the flow thread, thus causing the assertion.
879
880         The patch forces the controls to relayout if the region chain was invalidated. We can't use the
881         logicalWidthChangedInRegions method because it is block specific. This will be fixed in a later patch.
882
883         Tests: No new tests. fast/regions/full-screen-video-from-region.html no longer crashes.
884
885         * rendering/RenderBlock.cpp:
886         (WebCore::RenderBlock::checkForPaginationLogicalHeightChange):
887         * rendering/RenderFlowThread.cpp:
888         (WebCore::RenderFlowThread::RenderFlowThread):
889         (WebCore::RenderFlowThread::layout):
890         (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
891         * rendering/RenderFlowThread.h: Renamed pageLogicalHeightChanged to pageLogicalSizeChanged.
892         * rendering/RenderMedia.cpp:
893         (WebCore::RenderMedia::layout):
894
895 2013-02-13  Allan Sandfeld Jensen  <allan.jensen@digia.com>
896
897         [CoordGfx] Regression from r135212: big layers with transform animations sometime fail to render tiles
898         https://bugs.webkit.org/show_bug.cgi?id=109179
899
900         Reviewed by Jocelyn Turcotte.
901
902         Fix adjustForContentsRect logic for AC layers that are higher or wider than the visible rect.
903
904         Force updates of the visible rect while it is animating, and until we have done one last update after
905         it stops animating.
906
907         Test: compositing/transitions/transform-on-large-layer.html
908
909         * platform/graphics/TiledBackingStore.cpp:
910         (WebCore::TiledBackingStore::adjustForContentsRect):
911         (WebCore::TiledBackingStore::computeCoverAndKeepRect):
912         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
913         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
914         (WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
915         (WebCore::CoordinatedGraphicsLayer::computePixelAlignment):
916         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
917         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
918         (CoordinatedGraphicsLayer):
919
920 2013-02-15  Sheriff Bot  <webkit.review.bot@gmail.com>
921
922         Unreviewed, rolling out r142876.
923         http://trac.webkit.org/changeset/142876
924         https://bugs.webkit.org/show_bug.cgi?id=109920
925
926         Broke relative URL linkification in the computed styles pane
927         (Requested by apavlov on #webkit).
928
929         * inspector/front-end/StylesSidebarPane.js:
930         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
931
932 2013-02-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
933
934         Simplify hitTestResultAtPoint and nodesFromRect APIs
935         https://bugs.webkit.org/show_bug.cgi?id=95720
936
937         Reviewed by Julien Chaffraix.
938
939         The existing API was overloaded and could be simplified by passing all the bool arguments in 
940         a HitTestRequest argument. This should also help clarify the call as the enum values explicitely
941         state what they do.
942
943         * WebCore.exp.in:
944         * WebCore.order:
945         * dom/Document.cpp:
946         (WebCore::Document::nodesFromRect):
947         * dom/Document.h:
948         (Document):
949         * page/ContextMenuController.cpp:
950         (WebCore::ContextMenuController::createContextMenu):
951         * page/DragController.cpp:
952         (WebCore::DragController::canProcessDrag):
953         (WebCore::DragController::startDrag):
954         * page/EventHandler.cpp:
955         (WebCore::EventHandler::hitTestResultAtPoint):
956         (WebCore::EventHandler::handleMousePressEvent):
957         (WebCore::EventHandler::handleGestureEvent):
958         (WebCore::EventHandler::handleGestureForTextSelectionOrContextMenu):
959         (WebCore::EventHandler::bestClickableNodeForTouchPoint):
960         (WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
961         (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
962         (WebCore::EventHandler::handleTouchEvent):
963         * page/EventHandler.h:
964         (WebCore):
965         (EventHandler):
966         * page/FocusController.cpp:
967         (WebCore::updateFocusCandidateIfNeeded):
968         * page/Frame.cpp:
969         (WebCore::Frame::visiblePositionForPoint):
970         (WebCore::Frame::documentAtPoint):
971         * page/TouchDisambiguation.cpp:
972         (WebCore::findGoodTouchTargets):
973         * rendering/HitTestRequest.h:
974         (WebCore::HitTestRequest::allowsFrameScrollbars):
975         * testing/Internals.cpp:
976         (WebCore::Internals::nodesFromRect):
977
978 2013-02-14  Pavel Feldman  <pfeldman@chromium.org>
979
980         Web Inspector: make component-based compile-front-end happy
981         https://bugs.webkit.org/show_bug.cgi?id=109798
982
983         Reviewed by Vsevolod Vlasov.
984
985         * inspector/Inspector.json:
986         * inspector/InspectorDebuggerAgent.cpp:
987         (WebCore::InspectorDebuggerAgent::setVariableValue):
988         * inspector/InspectorDebuggerAgent.h:
989         (InspectorDebuggerAgent):
990         * inspector/compile-front-end.py:
991         * inspector/front-end/AuditResultView.js:
992         * inspector/front-end/CPUProfileView.js:
993         * inspector/front-end/DataGrid.js:
994         * inspector/front-end/InspectorFrontendAPI.js:
995         (InspectorFrontendAPI.loadTimelineFromURL):
996
997 2013-02-14  Alexander Pavlov  <apavlov@chromium.org>
998
999         Web Inspector: Implement tracking of active stylesheets in the frontend
1000         https://bugs.webkit.org/show_bug.cgi?id=105828
1001
1002         Reviewed by Pavel Feldman.
1003
1004         - This change introduces the CSS.styleSheetAdded() and CSS.styleSheetRemoved() events
1005         that update the frontend with all active stylesheet changes in the inspected page.
1006         As such, fetching stylesheet headers from the backend manually is no longer needed,
1007         and many asynchronous methods have been turned into normal accessors.
1008         - One notable change to the stylesheet binding process is that when a via-inspector stylesheet
1009         is created, it is instantly reported through the instrumentation, and the viaInspectorStyleSheet() method
1010         is [indirectly] called recursively from bindStyleSheet(). Thus, the actual creation and registration
1011         of the respective InspectorStyleSheet have been moved into bindStyleSheet(),
1012         which relies upon the m_creatingViaInspectorStyleSheet flag.
1013
1014         Test: inspector/styles/stylesheet-tracking.html
1015
1016         * dom/DocumentStyleSheetCollection.cpp:
1017         (WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets): Instrumented.
1018         * inspector/Inspector.json: Add events, update the CSS domain description.
1019         * inspector/InspectorCSSAgent.cpp:
1020         (WebCore::InspectorCSSAgent::InspectorCSSAgent):
1021         (WebCore::InspectorCSSAgent::clearFrontend):
1022         (WebCore::InspectorCSSAgent::enable): Push all existing stylesheet headers into the frontend.
1023         (WebCore::InspectorCSSAgent::activeStyleSheetsUpdated): Push added/removed stylesheet into the frontend.
1024         (WebCore::InspectorCSSAgent::getAllStyleSheets): Slightly refactored to make use of collectAllStyleSheets().
1025         (WebCore::InspectorCSSAgent::collectAllStyleSheets): Added to collect InspectorStyleSheets rather than headers.
1026         (WebCore::InspectorCSSAgent::collectStyleSheets):
1027         (WebCore::InspectorCSSAgent::bindStyleSheet): Binds via-inspector stylesheets, too.
1028         (WebCore::InspectorCSSAgent::unbindStyleSheet): Now we can unbind stylesheets upon their removal from the document.
1029         (WebCore::InspectorCSSAgent::viaInspectorStyleSheet): Modifies m_creatingViaInspectorStyleSheet when necessary.
1030         (WebCore::InspectorCSSAgent::detectOrigin): Modified to make use of m_creatingViaInspectorStyleSheet.
1031         (WebCore::InspectorCSSAgent::buildObjectForRule): Removed extraneous bound InspectorStyleSheet 0-check.
1032         * inspector/InspectorCSSAgent.h:
1033         * inspector/InspectorInstrumentation.cpp: Instrumentation of active stylesheet set updates.
1034         (WebCore::InspectorInstrumentation::activeStyleSheetsUpdatedImpl):
1035         * inspector/InspectorInstrumentation.h: Ditto.
1036         (WebCore::InspectorInstrumentation::activeStyleSheetsUpdated):
1037         * inspector/front-end/CSSStyleModel.js:
1038         (WebInspector.CSSStyleModel.prototype.styleSheetHeaders):
1039         (WebInspector.CSSStyleModel.prototype._styleSheetAdded): Added.
1040         (WebInspector.CSSStyleModel.prototype._styleSheetRemoved): Added.
1041         (WebInspector.CSSStyleModel.prototype.viaInspectorResourceForRule):
1042         (WebInspector.CSSStyleModelResourceBinding.prototype._setHeaderForStyleSheetId):
1043         (WebInspector.CSSStyleModelResourceBinding.prototype.resourceURLForStyleSheetId):
1044         (WebInspector.CSSStyleModelResourceBinding.prototype.styleSheetIdForResource):
1045         (WebInspector.CSSStyleModelResourceBinding.prototype._headerKey): Calculate the (frameID + URL) key for CSSStyleSheetHeader.
1046         (WebInspector.CSSStyleModelResourceBinding.prototype._createInspectorResource):
1047         (WebInspector.CSSStyleModelResourceBinding.prototype._inspectorResource):
1048         (WebInspector.CSSStyleModelResourceBinding.prototype._reset):
1049         (WebInspector.CSSDispatcher.prototype.styleSheetAdded): Added.
1050         (WebInspector.CSSDispatcher.prototype.styleSheetRemoved): Added.
1051         * inspector/front-end/SASSSourceMapping.js: Get rid of async implementations.
1052         (WebInspector.SASSSourceMapping.prototype._styleSheetChanged):
1053         * inspector/front-end/StylesSidebarPane.js: Ditto.
1054         (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
1055         * inspector/front-end/StylesSourceMapping.js: Ditto.
1056         (WebInspector.StyleContentBinding.prototype._innerStyleSheetChanged):
1057
1058 2013-02-15  Andrei Bucur  <abucur@adobe.com>
1059
1060         Implement the -webkit-margin-collapse properties correct rendering
1061         https://bugs.webkit.org/show_bug.cgi?id=108168
1062
1063         Reviewed by David Hyatt.
1064
1065         The patch implements the correct behavior for the -webkit-margin-collapse properties:
1066         - a value of "discard" on a margin will truncate all the margins collapsing with it;
1067         - a value of "separate" will prevent the margin to collapse;
1068         - a value of "collapse" is the default collapse behavior.
1069
1070         The implementation is aware of multiple writing-modes:
1071         - if the writing mode of a child is parallel with the writing mode of the container and has the same direction,
1072         the -webkit-margin-collapse properties on the child are left as is;
1073         - if the writing mode of a child is parallel with the writing mode of the container but has a different direction,
1074         the -webkit-margin-collapse properties on the child are reversed;
1075         - if the writing mode of a child is perpendicular on the writing mode of the container,
1076         the -webkit-margin-collapse properties on the child are ignored;
1077
1078         I. The "discard" value implementation
1079         There are two new bits (before and after) added on the RenderBlockRareData structure specifying if the margins
1080         of the block will be discarded or not. We can't rely only on the value from style() because
1081         it's possible a block to discard it's margins because it has collapsed with a children that
1082         specified "discard" for -webkit-margin-collapse. However, the bits are set only if it is
1083         required.
1084         Another bit is added on the MarginInfo structure specifying if the margin has to be discarded or not. When
1085         collapsing at the before side of a block it will hold information if the container block needs to discard
1086         or not. If the collapsing happens between siblings/with after side of the container it will tell if the previous
1087         child discards the margin or not. The self collapsing blocks are a special case. If any of its margins
1088         discards then both its margins discard and all the other margins collapsing with it.
1089         To ensure an optimal behavior it is asserted margin values can't be set on the MarginInfo object if the
1090         discard flag is active. If this happens it may indicate someone ignored the possibility of the margin being
1091         discarded altogether and incorrectly updated the margin values.
1092         Float clearing also needs to change because it may force margins to stop collapsing. If this happens the discard
1093         flags and margins needs to be restored to their values before the collapse.
1094
1095         II. The "separate" value implementation
1096         The implementation for separate was not changed too much. I've added new accessor methods for the property
1097         that take writing mode into consideration and I've removed some code that didn't work correctly in layoutBlockChild.
1098         The problem was the marginInfo structure was cleared if the child was specifying the "separate" value for before.
1099         This is wrong because you lose the margin information of the previous child/before side.
1100
1101         Tests: fast/block/margin-collapse/webkit-margin-collapse-container.html
1102                fast/block/margin-collapse/webkit-margin-collapse-floats.html
1103                fast/block/margin-collapse/webkit-margin-collapse-siblings-bt.html
1104                fast/block/margin-collapse/webkit-margin-collapse-siblings.html
1105
1106         * rendering/RenderBlock.cpp:
1107         (WebCore::RenderBlock::MarginInfo::MarginInfo):
1108         (WebCore::RenderBlock::layoutBlock):
1109         (WebCore::RenderBlock::collapseMargins):
1110         (WebCore::RenderBlock::clearFloatsIfNeeded):
1111         (WebCore::RenderBlock::marginBeforeEstimateForChild):
1112         (WebCore::RenderBlock::estimateLogicalTopPosition):
1113         (WebCore::RenderBlock::setCollapsedBottomMargin):
1114         (WebCore::RenderBlock::handleAfterSideOfBlock):
1115         (WebCore::RenderBlock::layoutBlockChild):
1116         (WebCore::RenderBlock::setMustDiscardMarginBefore):
1117         (WebCore):
1118         (WebCore::RenderBlock::setMustDiscardMarginAfter):
1119         (WebCore::RenderBlock::mustDiscardMarginBefore):
1120         (WebCore::RenderBlock::mustDiscardMarginAfter):
1121         (WebCore::RenderBlock::mustDiscardMarginBeforeForChild):
1122         (WebCore::RenderBlock::mustDiscardMarginAfterForChild):
1123         (WebCore::RenderBlock::mustSeparateMarginBeforeForChild):
1124         (WebCore::RenderBlock::mustSeparateMarginAfterForChild):
1125         * rendering/RenderBlock.h:
1126         (RenderBlock):
1127         (WebCore::RenderBlock::initMaxMarginValues):
1128         (MarginInfo):
1129         (WebCore::RenderBlock::MarginInfo::setPositiveMargin):
1130         (WebCore::RenderBlock::MarginInfo::setNegativeMargin):
1131         (WebCore::RenderBlock::MarginInfo::setPositiveMarginIfLarger):
1132         (WebCore::RenderBlock::MarginInfo::setNegativeMarginIfLarger):
1133         (WebCore::RenderBlock::MarginInfo::setMargin):
1134         (WebCore::RenderBlock::MarginInfo::setCanCollapseMarginAfterWithChildren):
1135         (WebCore::RenderBlock::MarginInfo::setDiscardMargin):
1136         (WebCore::RenderBlock::MarginInfo::discardMargin):
1137         (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
1138         (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
1139         (RenderBlockRareData):
1140         * rendering/style/RenderStyle.h:
1141
1142 2013-02-14  Yury Semikhatsky  <yurys@chromium.org>
1143
1144         Web Inspector: always show memory size in Mb on the native memory graph
1145         https://bugs.webkit.org/show_bug.cgi?id=109813
1146
1147         Reviewed by Pavel Feldman.
1148
1149         Memory size vlue is alway shown in Mb on the native memory graph.
1150
1151         * inspector/front-end/NativeMemoryGraph.js:
1152         (WebInspector.NativeMemoryCounterUI.prototype.updateCurrentValue):
1153
1154 2013-02-14  Andrey Adaikin  <aandrey@chromium.org>
1155
1156         Use GL typedefs in WebGLRenderingContext.idl
1157         https://bugs.webkit.org/show_bug.cgi?id=109060
1158
1159         Reviewed by Kenneth Russell.
1160
1161         Use GL typedefs in WebGLRenderingContext.idl according to the specs.
1162         Added a FIXME about inconsistency with the current WebGL spec for getAttribLocation.
1163
1164         Tested manually that generators V8, JS, ObjC, GObject, CPP produce same output.
1165
1166         * html/canvas/WebGLRenderingContext.idl:
1167
1168 2013-02-14  Vsevolod Vlasov  <vsevik@chromium.org>
1169
1170         Web Inspector: Copy-pasting selected text over itself should be an undoable state.
1171         https://bugs.webkit.org/show_bug.cgi?id=109830
1172
1173         Reviewed by Pavel Feldman.
1174
1175         * inspector/front-end/TextEditorModel.js:
1176         (WebInspector.TextEditorModel.endsWithBracketRegex.):
1177
1178 2013-02-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1179
1180         Unreviewed, rolling out r142889.
1181         http://trac.webkit.org/changeset/142889
1182         https://bugs.webkit.org/show_bug.cgi?id=109891
1183
1184         It caused an assertion failure in scrollbars/overflow-
1185         scrollbar-combinations.html (Requested by tkent on #webkit).
1186
1187         * rendering/RenderBox.cpp:
1188         (WebCore::borderWidthChanged):
1189         (WebCore::RenderBox::styleDidChange):
1190
1191 2013-02-14  Arpita Bahuguna  <arpitabahuguna@gmail.com>
1192
1193         Caret positioned at the end of a text line (followed by an empty block) in vertical writing mode disappears when pressing the right/down arrow key.
1194         https://bugs.webkit.org/show_bug.cgi?id=106452
1195
1196         Reviewed by Ryosuke Niwa.
1197
1198         Pressing the down or the right arrow key at the end of a text line in
1199         vertical writing mode would make the caret dissapear. This occurs only
1200         when the text line is followed by an empty block.
1201
1202         When trying to compute the next position for placing the caret (for
1203         down/right key), we try to ascertain whether the renderer (in this
1204         case the empty block) is a valid candidate or not. For blockFlow
1205         elements we check against their height.
1206         In vertical writing mode though we would fail such a check since we
1207         should instead be comparing against the renderer's width and not
1208         it's height. Thus, a valid position for the placement of the caret
1209         was not found in such a case.
1210
1211         Test: editing/selection/caret-at-end-of-text-line-followed-by-empty-block-in-vertical-mode.html
1212
1213         * dom/Position.cpp:
1214         (WebCore::Position::isCandidate):
1215         * dom/PositionIterator.cpp:
1216         (WebCore::PositionIterator::isCandidate):
1217         Instead of checking against the height(), check against the
1218         logicalHeight() of the renderer has been added. logicalHeight()
1219         on blockFlow renderer's returns a value in accordance with
1220         the writing mode.
1221
1222 2013-02-14  Ryosuke Niwa  <rniwa@webkit.org>
1223
1224         Windows build fix after r142957.
1225
1226         * dom/DOMAllInOne.cpp:
1227
1228 2013-02-14  Ryosuke Niwa  <rniwa@webkit.org>
1229
1230         Fix a typo introduced in r142705.
1231
1232         Without this fix, text-input-controller.html can fail when DeleteButtonController is enabled.
1233         e.g. "run-webkit-tests platform/mac/editing/deleting/deletionUI-single-instance.html
1234             platform/mac/editing/input/text-input-controller.html --child-processes=1"
1235
1236         * editing/Editor.cpp:
1237         (WebCore::Editor::avoidIntersectionWithDeleteButtonController):
1238
1239 2013-02-14  Hayato Ito  <hayato@chromium.org>
1240
1241         Factor Event retargeting code.
1242         https://bugs.webkit.org/show_bug.cgi?id=109156
1243
1244         Reviewed by Dimitri Glazkov.
1245
1246         To supoort Touch event retargeting (bug 107800), we have to factor
1247         event retargeting code so that it can support not only MouseEvent,
1248         but also other events.
1249
1250         New class, EventRetargeter, was introduced. From now,
1251         EventDispatchMediator (and its subclasses) should call, if event
1252         retargeting is required, an appropriate function provided in
1253         EventRetargeter rather than calling
1254         EventDispatcher::adjustRelatedTarget(), which was removed in this
1255         patch.
1256
1257         No tests. No change in behavior.
1258
1259         * CMakeLists.txt:
1260         * GNUmakefile.list.am:
1261         * Target.pri:
1262         * WebCore.gypi:
1263         * WebCore.xcodeproj/project.pbxproj:
1264         * dom/EventDispatchMediator.cpp:
1265         * dom/EventDispatcher.cpp:
1266         (WebCore):
1267         (WebCore::EventDispatcher::ensureEventPath): Changed to return an EventPath, which will be used by EventRetargeter.
1268         (WebCore::EventDispatcher::dispatchScopedEvent):
1269         (WebCore::EventDispatcher::dispatchEvent):
1270         (WebCore::EventDispatcher::dispatchEventPostProcess):
1271         * dom/EventDispatcher.h:
1272         (WebCore):
1273         (EventDispatcher):
1274         * dom/EventRetargeter.cpp: Added.
1275         (WebCore):
1276         (WebCore::inTheSameScope):
1277         (WebCore::determineDispatchBehavior):
1278         (WebCore::EventRetargeter::calculateEventPath): Factored out from EventDispatcher::ensureEventPath().
1279         (WebCore::EventRetargeter::adjustForMouseEvent):
1280         (WebCore::EventRetargeter::adjustForFocusEvent):
1281         (WebCore::EventRetargeter::adjustForRelatedTarget):
1282         (WebCore::EventRetargeter::calculateAdjustedNodes): Factored out from EventRelatedTargetAjuster::adjustRelatedTarget().
1283         (WebCore::EventRetargeter::buildRelatedNodeMap): Factored out from EventRelatedTargetAjuster::adjustRelatedTarget().
1284         (WebCore::EventRetargeter::findRelatedNode):
1285         * dom/EventRetargeter.h: Added.
1286         (WebCore):
1287         (EventRetargeter):
1288         (WebCore::EventRetargeter::eventTargetRespectingTargetRules):
1289         * dom/FocusEvent.cpp:
1290         (WebCore::FocusEventDispatchMediator::dispatchEvent): Changed to call EventRetargeter::adjustForFocusEvent().
1291         (WebCore::BlurEventDispatchMediator::dispatchEvent): Ditto.
1292         (WebCore::FocusInEventDispatchMediator::dispatchEvent): Ditto.
1293         (WebCore::FocusOutEventDispatchMediator::dispatchEvent): Ditto.
1294         * dom/MouseEvent.cpp:
1295         (WebCore::MouseEventDispatchMediator::dispatchEvent): Changed to call EventRetargeter::adjustForMouseEvent().
1296
1297 2013-02-14  Simon Fraser  <simon.fraser@apple.com>
1298
1299         Reverting r142861. Hit testing inside of style recalc is fundamentally wrong
1300
1301         * page/EventHandler.cpp:
1302         (WebCore::EventHandler::selectCursor):
1303         (WebCore::EventHandler::handleMouseMoveEvent):
1304         * page/EventHandler.h:
1305         * rendering/RenderObject.cpp:
1306         (WebCore::RenderObject::setStyle):
1307         (WebCore::areNonIdenticalCursorListsEqual):
1308         (WebCore::areCursorsEqual):
1309         (WebCore::RenderObject::styleDidChange):
1310
1311 2013-02-14  Florin Malita  <fmalita@chromium.org>
1312
1313         [SVG] Cached filter results are not invalidated on repaint rect change
1314         https://bugs.webkit.org/show_bug.cgi?id=106221
1315
1316         Reviewed by Dean Jackson.
1317
1318         Since the cached filter results are not invalidated for different repaint rects, we need
1319         to render the content of the whole filter region upfront (otherwise elements not visible
1320         during the initial paint due to scrolling/window size/etc. are never redrawn).
1321
1322         Tests: svg/filters/filter-hidden-content-expected.svg
1323                svg/filters/filter-hidden-content.svg
1324
1325         * rendering/svg/RenderSVGResourceFilter.cpp:
1326         (WebCore::RenderSVGResourceFilter::applyResource):
1327         (WebCore::RenderSVGResourceFilter::drawingRegion):
1328         (WebCore):
1329         * rendering/svg/RenderSVGResourceFilter.h:
1330         (FilterData):
1331         (RenderSVGResourceFilter):
1332         Track the filter drawing region in FilterData.
1333
1334         * rendering/svg/SVGRenderingContext.cpp:
1335         (WebCore::SVGRenderingContext::~SVGRenderingContext):
1336         (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
1337         * rendering/svg/SVGRenderingContext.h:
1338         Update paintInfo.rect to cover the whole drawing region while rendering filter content, and
1339         restore it when done.
1340
1341 2013-02-14  Jinwoo Song  <jinwoo7.song@samsung.com>
1342
1343         [EFL] Correct the mismatched cursor map
1344         https://bugs.webkit.org/show_bug.cgi?id=109655
1345
1346         Reviewed by Laszlo Gombos.
1347
1348         Correct the mismatched ECORE_X_CURSOR values in the cursor map.
1349
1350         * platform/efl/EflScreenUtilities.cpp:
1351         (WebCore::CursorMap::CursorMap):
1352
1353 2013-02-14  Kentaro Hara  <haraken@chromium.org>
1354
1355         Unreviewed. Rebaselined run-bindings-tests.
1356
1357         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
1358         (WebDOMTestObj::anyAttribute):
1359         (WebDOMTestObj::setAnyAttribute):
1360         * bindings/scripts/test/CPP/WebDOMTestObj.h:
1361         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
1362         (webkit_dom_test_obj_get_any_attribute):
1363         * bindings/scripts/test/JS/JSTestTypedefs.cpp:
1364         (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
1365         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
1366         (WebCore::TestTypedefsV8Internal::funcWithClampCallback):
1367
1368 2013-02-14  Christian Biesinger  <cbiesinger@chromium.org>
1369
1370         Convert media controls from DeprecatedFlexibleBox to FlexibleBox
1371         https://bugs.webkit.org/show_bug.cgi?id=109775
1372
1373         Reviewed by Ojan Vafai.
1374
1375         Covered by existing tests in media/.
1376
1377         * css/mediaControls.css:
1378         * css/mediaControlsBlackBerry.css:
1379         * css/mediaControlsChromium.css:
1380         * css/mediaControlsChromiumAndroid.css:
1381         * css/mediaControlsEfl.css:
1382         * css/mediaControlsGtk.css:
1383         * css/mediaControlsQt.css:
1384         * css/mediaControlsQuickTime.css:
1385         Automated search and replace of old flexbox CSS rules to new ones.
1386         Minor tuning of the chromium rules.
1387
1388         * rendering/RenderMediaControlElements.cpp:
1389         (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
1390         (WebCore::RenderMediaControlTimeDisplay::layout):
1391         * rendering/RenderMediaControlElements.h:
1392         Make media controls inherit from RenderFlexibleBox
1393
1394 2013-02-14  Roger Fong  <roger_fong@apple.com>
1395
1396         Build fix for Windows.
1397
1398         * Modules/webdatabase/SQLTransactionStateMachine.cpp:
1399         (WebCore::nameForSQLTransactionState):
1400
1401 2013-02-14  Dean Jackson  <dino@apple.com>
1402
1403         Inspector doesn't show rules from pluginsStyleSheet
1404         https://bugs.webkit.org/show_bug.cgi?id=109872
1405
1406         Reviewed by Darin Adler.
1407
1408         Make sure getWrapperForRuleInSheets collects the rules
1409         from CSSDefaultStyleSheets::plugInsStyleSheet.
1410
1411         Making a test for this is difficult because the rules in
1412         this sheet only apply to snapshotted plugins at the moment,
1413         which are disabled in DRT, and would require a fairly long
1414         timeout in the test.
1415
1416         * css/InspectorCSSOMWrappers.cpp:
1417         (WebCore::InspectorCSSOMWrappers::getWrapperForRuleInSheets):
1418
1419 2013-02-14  Hayato Ito  <hayato@chromium.org>
1420
1421         Recover edge names used in MemoryInstrumentation for DocumentRuleSets.
1422         https://bugs.webkit.org/show_bug.cgi?id=109800
1423
1424         Reviewed by Hajime Morita.
1425
1426         This is a following patch for r142573.
1427         r142563 accidentally removes edge names for MemoryInstrumentation. We should recover edge names.
1428
1429         No tests. No change in behavior.
1430
1431         * css/DocumentRuleSets.cpp:
1432         (WebCore::DocumentRuleSets::reportMemoryUsage):
1433
1434 2013-02-14  Hajime Morrita  <morrita@google.com>
1435
1436         [V8] Assertion failure on an exception is thrown
1437         https://bugs.webkit.org/show_bug.cgi?id=109129
1438
1439         An assertion in V8AbstractEventListener is wrong. This change turns it into an error check.
1440
1441         Reviewed by Kentaro Hara.
1442
1443         Test: fast/events/onerror-no-constructor.html
1444
1445         * bindings/v8/V8AbstractEventListener.cpp:
1446         (WebCore::V8AbstractEventListener::handleEvent):
1447
1448 2013-02-14  Kentaro Hara  <haraken@chromium.org>
1449
1450         [V8] CodeGeneratorV8.pm can assume that DOMWindow has [CheckSecurity]
1451         https://bugs.webkit.org/show_bug.cgi?id=109788
1452
1453         Reviewed by Adam Barth.
1454
1455         There is code like this:
1456
1457           if ($extendedAttr{"CheckSecurity"} || $interfaceName eq "DOMWindow")
1458
1459         This check is redundant. DOMWindow has [CheckSecurity]. We can remove the
1460         DOMWindow check.
1461
1462         No tests. No change in behavior.
1463
1464         * bindings/scripts/CodeGeneratorV8.pm:
1465         (GenerateReplaceableAttrSetter):
1466         (GenerateFunctionCallback):
1467         (GenerateNonStandardFunction):
1468         (GenerateImplementation):
1469
1470 2013-02-14  Joshua Bell  <jsbell@chromium.org>
1471
1472         [V8] IndexedDB: Remove unused creationContext paramter from idbKeyToV8Value
1473         https://bugs.webkit.org/show_bug.cgi?id=109870
1474
1475         Reviewed by Kentaro Hara.
1476
1477         This parameter was left over from when the function was toV8(IDBKey). Remove it.
1478
1479         No new tests - just removing dead code.
1480
1481         * bindings/v8/IDBBindingUtilities.cpp:
1482         (WebCore::idbKeyToV8Value): Remove unused parameter.
1483         (WebCore::injectIDBKeyIntoScriptValue): No need for dummy handle.
1484         (WebCore::idbKeyToScriptValue): No need for dummy handle.
1485
1486 2013-02-14  Kondapally Kalyan  <kalyan.kondapally@intel.com>
1487
1488         [WebGL][Qt] regression:r142786 Qt Build fix for Arm and Windows.
1489         https://bugs.webkit.org/show_bug.cgi?id=109797
1490
1491         Reviewed by Csaba Osztrogon√°c.
1492
1493         After r142786, we use OpenGLShims to load necessary GL functions
1494         exposed by ARB_vertex_array_object extension. Qt uses OpenGLShims
1495         to load functions with GLES too. This patch adds support for loading the
1496         equivalent functions on GLES exposed by OES_vertex_array_object.
1497         
1498         * platform/graphics/OpenGLShims.cpp:
1499         (WebCore::initializeOpenGLShims):
1500         * platform/graphics/OpenGLShims.h:
1501
1502 2013-02-14  Alexey Proskuryakov  <ap@apple.com>
1503
1504         <rdar://problem/13210723> CORS preflight broken with NetworkProcess
1505         https://bugs.webkit.org/show_bug.cgi?id=109753
1506
1507         Reviewed by Brady Eidson.
1508
1509         * loader/DocumentThreadableLoader.h:
1510         * loader/DocumentThreadableLoader.cpp:
1511         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
1512         (WebCore::DocumentThreadableLoader::cancel):
1513         (WebCore::DocumentThreadableLoader::didReceiveResponse):
1514         (WebCore::DocumentThreadableLoader::dataReceived):
1515         (WebCore::DocumentThreadableLoader::didReceiveData):
1516         (WebCore::DocumentThreadableLoader::notifyFinished):
1517         (WebCore::DocumentThreadableLoader::didFinishLoading):
1518         (WebCore::DocumentThreadableLoader::didFail):
1519         (WebCore::DocumentThreadableLoader::preflightFailure): Notify InspectorInstrumentation
1520         immediately. In addition to keeping up eith other changes, this means that an accurate
1521         error will be passed now, not a cancellation.
1522         (WebCore::DocumentThreadableLoader::loadRequest):
1523         Get rid of m_preflightRequestIdentifier. Every loader has an identifier, and tracking
1524         identifiers twice is wrong.
1525         Pass identifier explicitly to more internal functions, so that they would not have to
1526         second-guess callers.
1527
1528         * loader/ResourceLoader.cpp: (WebCore::ResourceLoader::willSendRequest):
1529         Create an identifier for all loaders, not just those that we expect to have client
1530         callbacks about. Both Inspector and NetworkProcess need identifiers everywhere.
1531
1532         * loader/TextTrackLoader.cpp: (WebCore::TextTrackLoader::deprecatedDidReceiveCachedResource):
1533         * loader/TextTrackLoader.h:
1534         * loader/cache/CachedResourceClient.h:
1535         (WebCore::CachedResourceClient::deprecatedDidReceiveCachedResource):
1536         * loader/cache/CachedTextTrack.cpp: (WebCore::CachedTextTrack::data):
1537         Renamed didReceiveData to avoid conflict with the new DocumentThreadableLoader::didReceiveData.
1538         And we should really get rid of this CachedResourceClient function anyway.
1539
1540 2013-02-14  Kentaro Hara  <haraken@chromium.org>
1541
1542         Replace 'DOMObject' with 'any'
1543         https://bugs.webkit.org/show_bug.cgi?id=109793
1544
1545         Reviewed by Dimitri Glazkov.
1546
1547         In the Web IDL spec, there is no type named 'DOMObject'.
1548         It should be 'any'. We should replace all 'DOMObject's in WebKit IDLs with 'any's.
1549
1550         * Modules/webdatabase/SQLResultSetRowList.idl:
1551         * bindings/scripts/CodeGeneratorCPP.pm:
1552         (GetClassName):
1553         (AddIncludesForType):
1554         * bindings/scripts/CodeGeneratorGObject.pm:
1555         (GenerateFunction):
1556         * bindings/scripts/CodeGeneratorJS.pm:
1557         (AddIncludesForType):
1558         (GenerateImplementation):
1559         (JSValueToNative):
1560         (NativeToJSValue):
1561         * bindings/scripts/CodeGeneratorV8.pm:
1562         (GetNativeType):
1563         (JSValueToNative):
1564         (GetV8HeaderName):
1565         * dom/CustomEvent.idl:
1566         * dom/MessageEvent.idl:
1567         * dom/PopStateEvent.idl:
1568         * fileapi/FileReader.idl:
1569         * html/HTMLCanvasElement.idl:
1570         * html/HTMLElement.idl:
1571         * html/canvas/DataView.idl:
1572         * inspector/InjectedScriptHost.idl:
1573         * inspector/InspectorFrontendHost.idl:
1574         * inspector/JavaScriptCallFrame.idl:
1575         * page/DOMWindow.idl:
1576         * page/Location.idl:
1577
1578 2013-02-14  Kentaro Hara  <haraken@chromium.org>
1579
1580         [V8] Remove GenerateEventListenerCallback() from CodeGeneratorV8.pm
1581         https://bugs.webkit.org/show_bug.cgi?id=109786
1582
1583         Reviewed by Adam Barth.
1584
1585         Some code is duplicated between GenerateEventListenerCallback()
1586         and GenerateFunctionCallback(). By inlining GenerateEventListenerCallback()
1587         into GenerateFunctionCallback(), we can remove the duplication.
1588
1589         No tests. No change in behavior.
1590
1591         * bindings/scripts/CodeGeneratorV8.pm:
1592         (GenerateFunctionCallback):
1593
1594 2013-02-14  Ojan Vafai  <ojan@chromium.org>
1595
1596         Intrinsic and preferred widths on replaced elements are wrong in many cases
1597         https://bugs.webkit.org/show_bug.cgi?id=109859
1598
1599         Reviewed by Levi Weintraub.
1600
1601         Test: fast/replaced/preferred-widths.html
1602
1603         * rendering/RenderReplaced.cpp:
1604         (WebCore::RenderReplaced::computeIntrinsicLogicalWidths):
1605         Separate out computing the intrinsic widths. Eventually,
1606         we should be able to share computePreferredLogicalWidth implementations
1607         for all replaced elements and form controls since only the intrinsic width
1608         changes.
1609
1610         (WebCore::RenderReplaced::computePreferredLogicalWidths):
1611         -Apply min-width and max-width constraints and then add borderAndPaddingLogicalWidth
1612         at the end to make sure it's always applied. This matches all our other
1613         computePreferredLogicalWidths override and makes use match Gecko's/Opera's rendering.
1614         -Only set the minPreferredLogicalWidth to 0 if the width or max-width is a percent value.
1615         Doing it for height values and for min-width doesn't make any sense and doesn't
1616         match other browsers. Doing this for max-width still doesn't match other browsers,
1617         but it sounds like Gecko at least would like to change that.
1618
1619         * rendering/RenderReplaced.h:
1620         (WebCore::RenderReplaced::hasRelativeIntrinsicLogicalWidth):
1621         * rendering/svg/RenderSVGRoot.cpp:
1622         (WebCore::RenderSVGRoot::hasRelativeIntrinsicLogicalWidth):
1623         Add a way to check if the logicalWidth is relative so that we only check
1624         the width in computePreferredLogicalWidths instead of also checking the height.
1625
1626         * rendering/svg/RenderSVGRoot.h:
1627
1628 2013-02-14  Stephen Chenney  <schenney@chromium.org>
1629
1630         Crash when selecting a HarfBuzz text run with SVG fonts included
1631         https://bugs.webkit.org/show_bug.cgi?id=109833
1632
1633         Reviewed by Tony Chang.
1634
1635         There is an assert in SimpleFontData::applyTransforms that should not
1636         be there, as the code is valid for SVG fonts. If we get past this,
1637         then the HarfBuzz text run shaping code assumes that font data has a
1638         SkTypeface member, and SVG fonts do not. So we crash there too.
1639
1640         For now, we fix the crashes. This still leaves incorrect selection
1641         rectangles in this situation, on all platforms, tracked in
1642         https://bugs.webkit.org/show_bug.cgi?id=108133
1643
1644         Test: svg/css/font-face-crash.html
1645
1646         * platform/graphics/SimpleFontData.h:
1647         (WebCore::SimpleFontData::applyTransforms): Remove ASSERT_NOT_REACHED as the code can legally be reached for SVG fonts.
1648         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
1649         (WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Check for SVG fonts in the text run, and abort if we find them.
1650
1651 2013-02-13 Joe Mason <jmason@rim.com>
1652
1653         [BlackBerry] Notify platform layer of failing to get authentication credentials
1654         https://bugs.webkit.org/show_bug.cgi?id=109751
1655
1656         Reviewed by Yong Li.
1657         Reviewed internally by Leo Yang
1658         Internal PR: 181302
1659
1660         The BlackBerry platform network layer needs to know if a stream failed to get authentication credentials.
1661         This patch is using newly added stream API to do it.
1662
1663         No functionality changed no new tests.
1664
1665         * platform/network/blackberry/NetworkJob.cpp:
1666         (WebCore::NetworkJob::notifyAuthReceived):
1667         (WebCore::NetworkJob::sendRequestWithCredentials):
1668         (WebCore::NetworkJob::notifyChallengeResult):
1669         * platform/network/blackberry/NetworkJob.h:
1670         * platform/network/blackberry/NetworkManager.cpp:
1671         (WebCore::protectionSpaceToPlatformAuth):
1672         (WebCore):
1673         (WebCore::setAuthCredentials):
1674         * platform/network/blackberry/NetworkManager.h:
1675         (WebCore):
1676
1677 2013-02-14  Kondapally Kalyan  <kalyan.kondapally@intel.com>
1678
1679         [GTK] Fix indentation in GNUmakefile.list.am.
1680         https://bugs.webkit.org/show_bug.cgi?id=109854
1681
1682         Reviewed by Martin Robinson.
1683
1684         This patch fixes indentation in GNUmakefile.list.am.
1685
1686         * GNUmakefile.list.am:
1687
1688 2013-02-14  Tony Chang  <tony@chromium.org>
1689
1690         Unreviewed, set svn:eol-style native for .sln, .vcproj, and .vsprops files.
1691         https://bugs.webkit.org/show_bug.cgi?id=96934
1692
1693         * WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
1694         * WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.
1695
1696 2013-02-14  Abhishek Arya  <inferno@chromium.org>
1697
1698         Bad cast in RenderBlock::splitBlocks.
1699         https://bugs.webkit.org/show_bug.cgi?id=108691
1700
1701         Reviewed by Levi Weintraub.
1702
1703         Test: fast/multicol/remove-child-split-flow-crash.html
1704
1705         * rendering/RenderBlock.cpp:
1706         (WebCore):
1707         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): rename gIsInColumnFlowSplit to gColumnFlowSplitEnabled
1708         and use it to decide when to do the column flow split or not.
1709         (WebCore::RenderBlock::removeChild): Do not allow column flow split inside removeChild
1710         since we might be merging anonymous blocks.
1711
1712 2013-02-14  Mark Lam  <mark.lam@apple.com>
1713
1714         Split SQLTransaction work between the frontend and backend.
1715         https://bugs.webkit.org/show_bug.cgi?id=104750.
1716
1717         Reviewed by Sam Weinig.
1718
1719         This is part of the webdatabase refactoring for webkit2.
1720
1721         1. Changed how transactions are created.
1722
1723            - Database::runTransaction() first creates a SQLTransaction frontend
1724              which encapsulates the 3 script callbacks. It then passes the
1725              SQLTransaction to the backend database to create the
1726              SQLTransactionBackend.
1727            - The SQLTransactionBackend manages all SQLiteTransaction work.
1728
1729         2. Introduced SQLTransactionState and SQLTransactionStateMachine.
1730
1731            - Instead of tracking the transaction phases as "steps" in m_nextStep,
1732              we now use m_nextState which is of enum class SQLTransactionState.
1733              Unlike m_nextStep which is a pointer to a "step" function,
1734              m_nextState is a state variable which is used to index into a
1735              state dispatch table.
1736
1737            - Both SQLTransaction and SQLTransactionBackend now extends
1738              SQLTransactionStateMachine, and uses its dispatch mechanism based on
1739              the SQLTransactionState.
1740
1741            - Instead of having 1 state machine instances, there are 2: 1 in the
1742              frontend, and 1 in the backend. The 2 have mirrored states, and
1743              transfers work to the other state machine when needed.
1744
1745            - Previously, state functions can be called inline from other states.
1746              They are now only called from the state machines runStateMachine()
1747              method. This makes it possible to isolate the state transition
1748              mechanism going between the sides (frontend and backend) to 2
1749              functions only: SQLTransaction::sendToBackendState() and
1750              SQLTransactionBackend::sendToFrontendState().
1751
1752         3. Consolidated cleanup work (mostly) to a unified cleanup function.
1753
1754         4. Changed the frontend Database::runTransaction() to use a
1755            ChangeVersionData* (instead of a ChangeVersionWrapper ref ptr).
1756
1757            - This is necessary because ChangeVersionWrapper contains functionality
1758              used in processing a transaction (to be invoked in the backend).
1759              Instead, what we want is to simply pass the 2 old and new version
1760              strings to the backend. The new ChangeVersionData simply packages up
1761              these 2 strings.
1762            - This makes ChangeVersionData easy to serialize for IPC messaging later.
1763
1764         5. Moved some transaction functions back to the frontend SQLTransaction
1765            because they belong there.
1766
1767         6. Moved some Database functions to its DatabaseBackendAsync backend
1768            now that the transaction has been split up.
1769
1770            - This is driven naturally by those functions being used exclusively
1771              in the backend for transaction work.
1772            - SQLTransactionClient, SQLTransactionCoordinator, and
1773              SQLTransactionWrapper are now exclusively backend data structures.
1774              SQLTransactionClient still has some frontend "pollution" that I'll
1775              fix later.
1776
1777         7. Made the few database report functions used only by Chromium conditional
1778            on PLATFORM(chromium).
1779
1780            - The report functions gets re-routed to Chromium's DatabaseObserver
1781              which further routes them elsewhere. It is unclear how Chromium uses
1782              these routed messages, and I am therefore not able to determine how
1783              they should work in a frontend/backend world. So, I'm #ifdef'ing
1784              them out. They still work like in the old way for Chromium.
1785
1786         8. Added new files to the build / project files.
1787
1788         9. Updated / added comments about how the transaction and its states work.
1789
1790         No new tests.
1791
1792         * CMakeLists.txt:
1793         * GNUmakefile.list.am:
1794         * Modules/webdatabase/AbstractDatabaseServer.h:
1795         * Modules/webdatabase/ChangeVersionData.h: Added.
1796         (ChangeVersionData):
1797         (WebCore::ChangeVersionData::ChangeVersionData):
1798         (WebCore::ChangeVersionData::oldVersion):
1799         (WebCore::ChangeVersionData::newVersion):
1800         * Modules/webdatabase/ChangeVersionWrapper.cpp:
1801         (WebCore::ChangeVersionWrapper::performPreflight):
1802         (WebCore::ChangeVersionWrapper::performPostflight):
1803         (WebCore::ChangeVersionWrapper::handleCommitFailedAfterPostflight):
1804         * Modules/webdatabase/ChangeVersionWrapper.h:
1805         (ChangeVersionWrapper):
1806         * Modules/webdatabase/Database.cpp:
1807         (WebCore::Database::Database):
1808         (WebCore::Database::close):
1809         (WebCore::Database::changeVersion):
1810         (WebCore::Database::transaction):
1811         (WebCore::Database::readTransaction):
1812         (WebCore::Database::runTransaction):
1813         (WebCore::Database::reportStartTransactionResult):
1814         (WebCore::Database::reportCommitTransactionResult):
1815         (WebCore::Database::reportExecuteStatementResult):
1816         * Modules/webdatabase/Database.h:
1817         (WebCore::Database::databaseContext):
1818         (Database):
1819         (WebCore::Database::reportStartTransactionResult):
1820         (WebCore::Database::reportCommitTransactionResult):
1821         (WebCore::Database::reportExecuteStatementResult):
1822         * Modules/webdatabase/DatabaseBackend.cpp:
1823         * Modules/webdatabase/DatabaseBackend.h:
1824         (DatabaseBackend):
1825         (WebCore::DatabaseBackend::reportOpenDatabaseResult):
1826         (WebCore::DatabaseBackend::reportChangeVersionResult):
1827         (WebCore::DatabaseBackend::reportStartTransactionResult):
1828         (WebCore::DatabaseBackend::reportCommitTransactionResult):
1829         (WebCore::DatabaseBackend::reportExecuteStatementResult):
1830         (WebCore::DatabaseBackend::reportVacuumDatabaseResult):
1831         * Modules/webdatabase/DatabaseBackendAsync.cpp:
1832         (WebCore::DatabaseBackendAsync::DatabaseBackendAsync):
1833         (WebCore::DatabaseBackendAsync::runTransaction):
1834         (WebCore::DatabaseBackendAsync::inProgressTransactionCompleted): Moved from frontend.
1835         (WebCore::DatabaseBackendAsync::scheduleTransaction): Moved from frontend.
1836         (WebCore::DatabaseBackendAsync::scheduleTransactionStep): Moved from frontend.
1837         (WebCore::DatabaseBackendAsync::transactionClient): Moved from frontend.
1838         (WebCore::DatabaseBackendAsync::transactionCoordinator): Moved from frontend.
1839         * Modules/webdatabase/DatabaseBackendAsync.h:
1840         (DatabaseBackendAsync):
1841         * Modules/webdatabase/DatabaseBackendContext.cpp:
1842         (WebCore::DatabaseBackendContext::frontend):
1843         * Modules/webdatabase/DatabaseBackendContext.h:
1844         (DatabaseBackendContext):
1845         * Modules/webdatabase/DatabaseManager.cpp:
1846         * Modules/webdatabase/DatabaseManager.h:
1847         (DatabaseManager):
1848         * Modules/webdatabase/DatabaseServer.cpp:
1849         * Modules/webdatabase/DatabaseServer.h:
1850         * Modules/webdatabase/DatabaseTask.cpp:
1851         (WebCore::DatabaseBackendAsync::DatabaseTransactionTask::doPerformTask):
1852         * Modules/webdatabase/SQLTransaction.cpp:
1853         (WebCore::SQLTransaction::create):
1854         (WebCore::SQLTransaction::SQLTransaction):
1855         (WebCore::SQLTransaction::setBackend):
1856         (WebCore::SQLTransaction::stateFunctionFor):
1857         (WebCore::SQLTransaction::requestTransitToState):
1858         (WebCore::SQLTransaction::nextStateForTransactionError):
1859             - was handleTransactionError(). There's also a backend version.
1860         (WebCore::SQLTransaction::deliverTransactionCallback): Moved from backend.
1861         (WebCore::SQLTransaction::deliverTransactionErrorCallback): Moved from backend.
1862         (WebCore::SQLTransaction::deliverStatementCallback): Moved from backend.
1863         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Moved from backend.
1864         (WebCore::SQLTransaction::deliverSuccessCallback): Moved from backend.
1865         (WebCore::SQLTransaction::unreachableState):
1866         (WebCore::SQLTransaction::sendToBackendState):
1867         (WebCore::SQLTransaction::performPendingCallback): Moved from backend.
1868         (WebCore::SQLTransaction::executeSQL): Moved from backend.
1869         (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
1870         (WebCore::SQLTransaction::clearCallbackWrappers):
1871         * Modules/webdatabase/SQLTransaction.h:
1872         (SQLTransaction):
1873         (WebCore::SQLTransaction::database):
1874         (WebCore::SQLTransaction::hasCallback):
1875         (WebCore::SQLTransaction::hasSuccessCallback):
1876         (WebCore::SQLTransaction::hasErrorCallback):
1877         * Modules/webdatabase/SQLTransactionBackend.cpp:
1878         (WebCore::SQLTransactionBackend::create):
1879         (WebCore::SQLTransactionBackend::SQLTransactionBackend):
1880         (WebCore::SQLTransactionBackend::doCleanup):
1881         (WebCore::SQLTransactionBackend::transactionError):
1882         (WebCore::SQLTransactionBackend::setShouldRetryCurrentStatement):
1883         (WebCore::SQLTransactionBackend::stateFunctionFor):
1884         (WebCore::SQLTransactionBackend::enqueueStatement):
1885         (WebCore::SQLTransactionBackend::checkAndHandleClosedOrInterruptedDatabase):
1886         (WebCore::SQLTransactionBackend::performNextStep):
1887         (WebCore::SQLTransactionBackend::notifyDatabaseThreadIsShuttingDown):
1888         (WebCore::SQLTransactionBackend::acquireLock):
1889         (WebCore::SQLTransactionBackend::lockAcquired):
1890         (WebCore::SQLTransactionBackend::openTransactionAndPreflight):
1891         (WebCore::SQLTransactionBackend::runStatements):
1892         (WebCore::SQLTransactionBackend::runCurrentStatementAndGetNextState):
1893             - was runCurrentStatement().
1894         (WebCore::SQLTransactionBackend::nextStateForCurrentStatementError):
1895             - was handleCurrentStatementError().
1896         (WebCore::SQLTransactionBackend::postflightAndCommit):
1897         (WebCore::SQLTransactionBackend::cleanupAndTerminate):
1898         (WebCore::SQLTransactionBackend::nextStateForTransactionError):
1899             - was handleTransactionError(). There's also a frontend version.
1900         (WebCore::SQLTransactionBackend::cleanupAfterTransactionErrorCallback):
1901         (WebCore::SQLTransactionBackend::requestTransitToState):
1902         (WebCore::SQLTransactionBackend::unreachableState):
1903         (WebCore::SQLTransactionBackend::sendToFrontendState):
1904         * Modules/webdatabase/SQLTransactionBackend.h:
1905         (SQLTransactionWrapper):
1906         (SQLTransactionBackend):
1907         (WebCore::SQLTransactionBackend::database):
1908         * Modules/webdatabase/SQLTransactionClient.cpp:
1909         (WebCore::SQLTransactionClient::didCommitWriteTransaction):
1910         (WebCore::SQLTransactionClient::didExecuteStatement):
1911         * Modules/webdatabase/SQLTransactionCoordinator.cpp:
1912         (WebCore::getDatabaseIdentifier):
1913         * Modules/webdatabase/SQLTransactionState.h: Added.
1914         * Modules/webdatabase/SQLTransactionStateMachine.cpp: Added.
1915         (WebCore::nameForSQLTransactionState):
1916             - was debugStepName().
1917         * Modules/webdatabase/SQLTransactionStateMachine.h: Added.
1918         (SQLTransactionStateMachine):
1919         (WebCore::SQLTransactionStateMachine::~SQLTransactionStateMachine):
1920         (WebCore::::SQLTransactionStateMachine):
1921         (WebCore::::setStateToRequestedState):
1922         (WebCore::::runStateMachine):
1923         * Target.pri:
1924         * WebCore.gypi:
1925         * WebCore.vcproj/WebCore.vcproj:
1926         * WebCore.vcxproj/WebCore.vcxproj:
1927         * WebCore.vcxproj/WebCore.vcxproj.filters:
1928         * WebCore.xcodeproj/project.pbxproj:
1929         * inspector/InspectorDatabaseAgent.cpp:
1930
1931 2013-02-14  Jer Noble  <jer.noble@apple.com>
1932
1933         EME: replace MediaKeySession.addKey() -> update()
1934         https://bugs.webkit.org/show_bug.cgi?id=109461
1935
1936         Reviewed by Eric Carlson.
1937
1938         No new tests; updated media/encrypted-media/encrypted-media-v2-syntax.html test.
1939
1940         In the latest draft of the Encrypted Media Spec, the addKeys() method has been replaced
1941         with update().
1942
1943         * Modules/encryptedmedia/CDM.h:
1944         * Modules/encryptedmedia/MediaKeySession.cpp:
1945         (WebCore::MediaKeySession::update):
1946         (WebCore::MediaKeySession::addKeyTimerFired):
1947         * Modules/encryptedmedia/MediaKeySession.h:
1948         * Modules/encryptedmedia/MediaKeySession.idl:
1949         * html/HTMLMediaElement.cpp:
1950         (WebCore::HTMLMediaElement::webkitAddKey):
1951         * testing/MockCDM.cpp:
1952         (WebCore::MockCDMSession::update):
1953
1954 2013-02-14  Tony Chang  <tony@chromium.org>
1955
1956         Unreviewed, set svn:eol-style CRLF for .sln files.
1957
1958         * WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
1959         * WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.
1960
1961 2013-02-14  Eric Carlson  <eric.carlson@apple.com>
1962
1963         [Mac] adjust caption color user preference calculation
1964         https://bugs.webkit.org/show_bug.cgi?id=109840
1965
1966         Reviewed by Dean Jackson.
1967
1968         No new tests, it isn't possible to test this with DRT.
1969
1970         * page/CaptionUserPreferencesMac.mm:
1971         (WebCore::CaptionUserPreferencesMac::captionsWindowCSS): The color is "important" if either the
1972             color or opacity are supposed to override.
1973         (WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS): Ditto.
1974         (WebCore::CaptionUserPreferencesMac::captionsTextColor): Ditto.
1975
1976         * WebCore.vcproj/WebCore.sln: Modified property svn:eol-style.
1977         * WebCore.vcproj/WebCore.submit.sln: Modified property svn:eol-style.
1978
1979 2013-02-14  Cosmin Truta  <ctruta@rim.com>
1980
1981         Numeric identifiers of events are not guaranteed to be unique
1982         https://bugs.webkit.org/show_bug.cgi?id=103259
1983
1984         Reviewed by Alexey Proskuryakov.
1985
1986         The results of setTimeout, setInterval and navigator.geolocation.watchPosition
1987         are positive integer values extracted from a simple circular sequential number
1988         generator, whose uniqueness can be guaranteed for no more than 2^31 calls to
1989         any of these functions. In order to provide this guarantee beyond this limit,
1990         we repeatedly ask for the next sequential id until we get one that's not used
1991         already.
1992
1993         This solution works instantly under normal circumstances, when there are few
1994         live timeout ids or geolocation ids at any given moment. Handling millions of
1995         live ids will require another solution.
1996
1997         No new tests. Brief tests of uniqueness already exist.
1998         Moreover, reproducing this particular issue would require 2^31 set/clear
1999         function calls, which is prohibitively expensive.
2000
2001         * Modules/geolocation/Geolocation.cpp:
2002         (WebCore::Geolocation::Watchers::add): Rename from Watchers::set; return false if watch id already exists.
2003         (WebCore::Geolocation::watchPosition): Repeat until the new watch id is unique.
2004         * Modules/geolocation/Geolocation.h:
2005         (Watchers): Rename Watchers::set to Watchers::add.
2006         * Modules/geolocation/Geolocation.idl: Rename the argument of Geolocation::clearWatch to WatchID.
2007         * dom/ScriptExecutionContext.cpp:
2008         (WebCore::ScriptExecutionContext::ScriptExecutionContext): Update initialization.
2009         (WebCore::ScriptExecutionContext::circularSequentialID): Rename from newUniqueID; remove FIXME note.
2010         * dom/ScriptExecutionContext.h:
2011         (ScriptExecutionContext): Rename ScriptExecutionContext::newUniqueID to ScriptExecutionContext::circularSequentialID.
2012         (WebCore::ScriptExecutionContext::addTimeout): Return false (do not assert) if timeout id already exists.
2013         * page/DOMTimer.cpp:
2014         (WebCore::DOMTimer::DOMTimer): Repeat until the new timeout id is unique.
2015
2016 2013-02-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2017
2018         Unreviewed, rolling out r142825.
2019         http://trac.webkit.org/changeset/142825
2020         https://bugs.webkit.org/show_bug.cgi?id=109856
2021
2022         Causes some inspector tests to time out (Requested by anttik
2023         on #webkit).
2024
2025         * platform/mac/SharedTimerMac.mm:
2026         (WebCore):
2027         (WebCore::PowerObserver::restartSharedTimer):
2028         (WebCore::setSharedTimerFireInterval):
2029         (WebCore::stopSharedTimer):
2030
2031 2013-02-14  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
2032
2033         Support the ch unit from css3-values
2034         https://bugs.webkit.org/show_bug.cgi?id=85755
2035
2036         Reviewed by David Hyatt.
2037
2038         Original patch by Sumedha Widyadharma <sumedha.widyadharma@basyskom.com>.
2039
2040         Test: fast/css/css3-ch-unit.html
2041
2042         * css/CSSCalculationValue.cpp:
2043         (WebCore::unitCategory):
2044         * css/CSSGrammar.y.in:
2045         * css/CSSParser.cpp:
2046         (WebCore::CSSParser::validUnit):
2047         (WebCore::CSSParser::createPrimitiveNumericValue):
2048         (WebCore::CSSParser::parseValidPrimitive):
2049         (WebCore::CSSParser::detectNumberToken):
2050         * css/CSSParserValues.cpp:
2051         (WebCore::CSSParserValue::createCSSValue):
2052         * css/CSSPrimitiveValue.cpp:
2053         (WebCore::isValidCSSUnitTypeForDoubleConversion):
2054         (WebCore::CSSPrimitiveValue::cleanup):
2055         (WebCore::CSSPrimitiveValue::computeLengthDouble):
2056         (WebCore::CSSPrimitiveValue::customCssText):
2057         (WebCore::CSSPrimitiveValue::cloneForCSSOM):
2058         * css/CSSPrimitiveValue.h:
2059         (WebCore::CSSPrimitiveValue::isFontRelativeLength):
2060         (WebCore::CSSPrimitiveValue::isLength):
2061         * platform/graphics/FontMetrics.h:
2062         (WebCore::FontMetrics::FontMetrics):
2063         (WebCore::FontMetrics::zeroWidth):
2064         (WebCore::FontMetrics::setZeroWidth):
2065         (FontMetrics):
2066         (WebCore::FontMetrics::hasZeroWidth):
2067         (WebCore::FontMetrics::setHasZeroWidth):
2068         * platform/graphics/SimpleFontData.cpp:
2069         (WebCore::SimpleFontData::platformGlyphInit):
2070         * platform/graphics/SimpleFontData.h:
2071         (WebCore::SimpleFontData::zeroGlyph):
2072         (WebCore::SimpleFontData::setZeroGlyph):
2073         (SimpleFontData):
2074         * platform/graphics/qt/SimpleFontDataQt.cpp:
2075         (WebCore::SimpleFontData::platformInit):
2076
2077 2013-02-14  David Kilzer  <ddkilzer@apple.com>
2078
2079         [Mac] Clean up WARNING_CFLAGS
2080         <http://webkit.org/b/109747>
2081         <rdar://problem/13208373>
2082
2083         Reviewed by Mark Rowe.
2084
2085         * Configurations/Base.xcconfig: Use
2086         GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
2087         -Wshorten-64-to-32 rather than WARNING_CFLAGS.
2088
2089 2013-02-14  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2090
2091         Add addHTTPHeaderField() method to ResourceResponse
2092         https://bugs.webkit.org/show_bug.cgi?id=109844
2093
2094         Reviewed by Adam Barth.
2095
2096         ResourceRequestBase provides both setHTTPHeaderField() and addHTTPHeaderField(). However,
2097         ResourceResponseBase only provides setHTTPHeaderField(). This is a bit inconsistent. As a
2098         result, the addHTTPHeaderField() functionality's implementation is duplicated in several
2099         ports (at least chromium and soup).
2100
2101         This patch introduces addHTTPHeaderField() to ResourceResponseBase and makes use of it
2102         in Chromium and Soup backends.
2103
2104         No new tests, no behavior change.
2105
2106         * platform/chromium/support/WebURLResponse.cpp:
2107         (WebKit::WebURLResponse::addHTTPHeaderField): Use ResourceResponseBase::addHTTPHeaderField().
2108         * platform/network/ResourceResponseBase.cpp:
2109         (WebCore::ResourceResponseBase::updateHeaderParsedState): Move headers' parsed state update code
2110         from setHTTPHeaderField() to a new updateHeaderParsedState() method to avoid code duplication.
2111         (WebCore):
2112         (WebCore::ResourceResponseBase::setHTTPHeaderField):
2113         (WebCore::ResourceResponseBase::addHTTPHeaderField):
2114         * platform/network/ResourceResponseBase.h:
2115         (ResourceResponseBase):
2116         * platform/network/soup/ResourceResponseSoup.cpp:
2117         (WebCore::ResourceResponse::updateFromSoupMessageHeaders): Use ResourceResponseBase::addHTTPHeaderField().
2118
2119 2013-02-14  Philip Rogers  <pdr@google.com>
2120
2121         Prevent inconsistent firstChild during document destruction
2122         https://bugs.webkit.org/show_bug.cgi?id=106530
2123
2124         Reviewed by Abhishek Arya.
2125
2126         During document destruction, addChildNodesToDeletionQueue can allow a container
2127         node to have an invalid first child, causing a crash. This patch updates
2128         addChildNodesToDeletionQueue to maintain a valid value for firstChild() even
2129         while updating its children.
2130
2131         Test: svg/custom/animateMotion-path-change-crash.svg
2132
2133         * dom/ContainerNodeAlgorithms.h:
2134         (WebCore::Private::addChildNodesToDeletionQueue):
2135             To ensure prevoiusSibling() is also valid, this code was slightly refactored
2136             to call setPreviousSibling(0) on the next node instead of the current node.
2137
2138 2013-02-14  Julien Chaffraix  <jchaffraix@webkit.org>
2139
2140         [CSS Grid Layout] Add an internal 2D grid representation to RenderGrid
2141         https://bugs.webkit.org/show_bug.cgi?id=109714
2142
2143         Reviewed by Ojan Vafai.
2144
2145         This change introduces a 2D grid representation of the grid areas. Our implementation
2146         is a straight Vector of Vectors for the grid areas, each grid area able to hold an
2147         arbitrary number of RenderBox* so they hold a Vector of RenderBoxes. As an optimization,
2148         each grid area has enough inline storage to hold one grid item which should cover
2149         most cases.
2150
2151         In order to keep the code readable, a GridIterator was introduced to hide the new grid.
2152
2153         Refactoring, covered by existing tests.
2154
2155         * rendering/RenderGrid.cpp:
2156         (RenderGrid::GridIterator):
2157         (WebCore::RenderGrid::GridIterator::GridIterator):
2158         (WebCore::RenderGrid::GridIterator::nextGridItem):
2159         Added a mono-directional iterator. In order to be more aligned with the rest of the code,
2160         this iterator actually walks orthogonally to the |direction| (ie fixing the |direction|'s track).
2161
2162         * rendering/RenderGrid.cpp:
2163         (WebCore::RenderGrid::computePreferredLogicalWidths):
2164         (WebCore::RenderGrid::layoutGridItems):
2165         Updated these 2 functions to place the items on the grid and clear it at the end.
2166
2167         (WebCore::RenderGrid::computePreferredTrackWidth):
2168         (WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
2169         Updated to use the GridIterator to walk over the rows / columns.
2170
2171         (WebCore::RenderGrid::placeItemsOnGrid):
2172         Added this function that inserts the grid items into the right grid area.
2173
2174         * rendering/RenderGrid.h:
2175         (WebCore::RenderGrid::gridColumnCount):
2176         (WebCore::RenderGrid::gridRowCount):
2177         Added these helper functions.
2178
2179 2013-02-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2180
2181         Unreviewed, rolling out r141990.
2182         http://trac.webkit.org/changeset/141990
2183         https://bugs.webkit.org/show_bug.cgi?id=109850
2184
2185         ~5% regression on intl2 page cycler (Requested by kling on
2186         #webkit).
2187
2188         * platform/graphics/GlyphPage.h:
2189         (WebCore::GlyphPage::create):
2190         (WebCore::GlyphPage::glyphDataForCharacter):
2191         (WebCore::GlyphPage::glyphDataForIndex):
2192         (WebCore::GlyphPage::fontDataForCharacter):
2193         (WebCore::GlyphPage::setGlyphDataForIndex):
2194         (GlyphPage):
2195         (WebCore::GlyphPage::copyFrom):
2196         (WebCore::GlyphPage::clear):
2197         (WebCore::GlyphPage::clearForFontData):
2198         (WebCore::GlyphPage::GlyphPage):
2199         * platform/graphics/GlyphPageTreeNode.cpp:
2200         (WebCore::GlyphPageTreeNode::initializePage):
2201         * rendering/svg/SVGTextRunRenderingContext.cpp:
2202         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
2203
2204 2013-02-14  Mark Pilgrim  <pilgrim@chromium.org>
2205
2206         [Chromium] Move PlatformMessagePortChannel to WebCore
2207         https://bugs.webkit.org/show_bug.cgi?id=109845
2208
2209         Reviewed by Adam Barth.
2210
2211         Part of a larger refactoring series; see tracking bug 106829.
2212
2213         * WebCore.gyp/WebCore.gyp:
2214         * WebCore.gypi:
2215         * dom/default/chromium: Added.
2216         * dom/default/chromium/PlatformMessagePortChannelChromium.cpp: Added.
2217         (WebCore):
2218         (WebCore::MessagePortChannel::create):
2219         (WebCore::MessagePortChannel::createChannel):
2220         (WebCore::MessagePortChannel::MessagePortChannel):
2221         (WebCore::MessagePortChannel::~MessagePortChannel):
2222         (WebCore::MessagePortChannel::entangleIfOpen):
2223         (WebCore::MessagePortChannel::disentangle):
2224         (WebCore::MessagePortChannel::postMessageToRemote):
2225         (WebCore::MessagePortChannel::tryGetMessageFromRemote):
2226         (WebCore::MessagePortChannel::close):
2227         (WebCore::MessagePortChannel::isConnectedTo):
2228         (WebCore::MessagePortChannel::hasPendingActivity):
2229         (WebCore::MessagePortChannel::locallyEntangledPort):
2230         (WebCore::PlatformMessagePortChannel::create):
2231         (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
2232         (WebCore::PlatformMessagePortChannel::~PlatformMessagePortChannel):
2233         (WebCore::PlatformMessagePortChannel::createChannel):
2234         (WebCore::PlatformMessagePortChannel::messageAvailable):
2235         (WebCore::PlatformMessagePortChannel::entangleIfOpen):
2236         (WebCore::PlatformMessagePortChannel::disentangle):
2237         (WebCore::PlatformMessagePortChannel::postMessageToRemote):
2238         (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
2239         (WebCore::PlatformMessagePortChannel::close):
2240         (WebCore::PlatformMessagePortChannel::isConnectedTo):
2241         (WebCore::PlatformMessagePortChannel::hasPendingActivity):
2242         (WebCore::PlatformMessagePortChannel::setEntangledChannel):
2243         (WebCore::PlatformMessagePortChannel::webChannelRelease):
2244         * dom/default/chromium/PlatformMessagePortChannelChromium.h: Added.
2245         (WebKit):
2246         (WebCore):
2247         (PlatformMessagePortChannel):
2248
2249 2013-02-14  Chris Fleizach  <cfleizach@apple.com>
2250
2251         Remove Leopard Accessibility support from WebCore (now that no port builds on Leopard)
2252         https://bugs.webkit.org/show_bug.cgi?id=90250
2253
2254         Reviewed by Eric Seidel.
2255
2256         The Leopard era checks for accessibility lists and accessibility tables can be removed now.
2257
2258         * accessibility/AccessibilityARIAGrid.cpp:
2259         (WebCore):
2260         * accessibility/AccessibilityARIAGrid.h:
2261         (AccessibilityARIAGrid):
2262         (WebCore::AccessibilityARIAGrid::isTableExposableThroughAccessibility):
2263         * accessibility/AccessibilityList.cpp:
2264         (WebCore::AccessibilityList::computeAccessibilityIsIgnored):
2265         * accessibility/AccessibilityList.h:
2266         * accessibility/AccessibilityTable.cpp:
2267         (WebCore::AccessibilityTable::AccessibilityTable):
2268         (WebCore::AccessibilityTable::init):
2269         * accessibility/AccessibilityTable.h:
2270         (AccessibilityTable):
2271         * accessibility/mac/AXObjectCacheMac.mm:
2272         (WebCore::AXObjectCache::postPlatformNotification):
2273         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
2274         (createAccessibilityRoleMap):
2275
2276 2013-02-14  Bear Travis  <betravis@adobe.com>
2277
2278         Make outside-shape the default value for shape-inside
2279         https://bugs.webkit.org/show_bug.cgi?id=109605
2280
2281         Reviewed by Levi Weintraub.
2282
2283         Creating a single reference outside-shape value and setting it as the default
2284         for shape-inside.
2285
2286         Existing tests cover the default value, just updating them to use outside-shape.
2287
2288         * rendering/style/RenderStyle.cpp:
2289         (WebCore::RenderStyle::initialShapeInside): Define a local static outside-shape
2290         value.
2291         (WebCore):
2292         * rendering/style/RenderStyle.h: Move the initialShapeInside method to the .cpp
2293         file.
2294
2295 2013-02-14  Min Qin  <qinmin@chromium.org>
2296
2297         Passing alpha to DeferredImageDecoder once decoding completes
2298         https://bugs.webkit.org/show_bug.cgi?id=108892
2299
2300         Reviewed by Stephen White.
2301
2302         We should pass hasAlpha value back to the DeferredImageDecoder once decoding is completed
2303         Added unit tests in ImageFrameGeneratorTest.
2304
2305         * platform/graphics/chromium/DeferredImageDecoder.cpp:
2306         (WebCore::DeferredImageDecoder::frameHasAlphaAtIndex):
2307         * platform/graphics/chromium/ImageFrameGenerator.cpp:
2308         (WebCore::ImageFrameGenerator::tryToScale):
2309         (WebCore::ImageFrameGenerator::decode):
2310         * platform/graphics/chromium/LazyDecodingPixelRef.cpp:
2311         (WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
2312         (WebCore::LazyDecodingPixelRef::onUnlockPixels):
2313         * platform/graphics/chromium/LazyDecodingPixelRef.h:
2314         (WebCore::LazyDecodingPixelRef::hasAlpha):
2315         (LazyDecodingPixelRef):
2316         * platform/graphics/chromium/ScaledImageFragment.cpp:
2317         (WebCore::ScaledImageFragment::ScaledImageFragment):
2318         * platform/graphics/chromium/ScaledImageFragment.h:
2319         (WebCore::ScaledImageFragment::create):
2320         (ScaledImageFragment):
2321         (WebCore::ScaledImageFragment::hasAlpha):
2322
2323 2013-02-14  David Grogan  <dgrogan@chromium.org>
2324
2325         IndexedDB: Add a few more histogram calls
2326         https://bugs.webkit.org/show_bug.cgi?id=109762
2327
2328         Reviewed by Tony Chang.
2329
2330         A few places where commits could fail weren't being logged.
2331
2332         * Modules/indexeddb/IDBBackingStore.cpp:
2333         (WebCore::IDBBackingStore::deleteDatabase):
2334         (WebCore::IDBBackingStore::Transaction::commit):
2335
2336 2013-02-14  Tony Chang  <tony@chromium.org>
2337
2338         Padding and border changes doesn't trigger relayout of children
2339         https://bugs.webkit.org/show_bug.cgi?id=109639
2340
2341         Reviewed by Kent Tamura.
2342
2343         In RenderBlock::layoutBlock, we only relayout our children if our logical width
2344         changes. This misses cases where our logical width doesn't change (i.e., padding
2345         or border changes), but our content width does change.
2346
2347         This is a more general case of bug 104997.
2348
2349         Test: fast/block/dynamic-padding-border.html
2350
2351         * rendering/RenderBox.cpp:
2352         (WebCore::borderOrPaddingLogicalWidthChanged): Only check if the logical width changed.
2353         (WebCore::RenderBox::styleDidChange): Drop the border-box condition since this can happen
2354         even without border-box box sizing.
2355
2356 2013-02-14  Peter Rybin  <prybin@chromium.org>
2357
2358         Web Inspector: fix closure compilation warnings caused by setVariableValue change
2359         https://bugs.webkit.org/show_bug.cgi?id=109488
2360
2361         Reviewed by Pavel Feldman.
2362
2363         Annotations are fixed as required by closure compiler.
2364         Parameters in Inspector.json are reordered as required.
2365
2366         * inspector/InjectedScriptExterns.js:
2367         (InjectedScriptHost.prototype.setFunctionVariableValue):
2368         (JavaScriptCallFrame.prototype.setVariableValue):
2369         * inspector/InjectedScriptSource.js:
2370         (.):
2371         * inspector/Inspector.json:
2372         * inspector/InspectorDebuggerAgent.cpp:
2373         (WebCore::InspectorDebuggerAgent::setVariableValue):
2374         * inspector/InspectorDebuggerAgent.h:
2375         (InspectorDebuggerAgent):
2376
2377 2013-02-14  Tommy Widenflycht  <tommyw@google.com>
2378
2379         MediaStream API: RTCDataChannel triggers a use-after-free
2380         https://bugs.webkit.org/show_bug.cgi?id=109806
2381
2382         Reviewed by Adam Barth.
2383
2384         Making sure RTCPeerConnection::stop() is always called at least once.
2385         Also making sure that RTCDataChannels state gets set to Closed correctly.
2386
2387         Hard to test in WebKit but covered by Chromium tests.
2388
2389         * Modules/mediastream/RTCDataChannel.cpp:
2390         (WebCore::RTCDataChannel::stop):
2391         * Modules/mediastream/RTCPeerConnection.cpp:
2392         (WebCore::RTCPeerConnection::~RTCPeerConnection):
2393         (WebCore::RTCPeerConnection::stop):
2394
2395 2013-02-14  Vsevolod Vlasov  <vsevik@chromium.org>
2396
2397         Web Inspector: [Regression] When several consecutive characters are typed each of them is marked as undoable state.
2398         https://bugs.webkit.org/show_bug.cgi?id=109823
2399
2400         Reviewed by Pavel Feldman.
2401
2402         * inspector/front-end/TextEditorModel.js:
2403         (WebInspector.TextEditorModel.endsWithBracketRegex.):
2404
2405 2013-02-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2406
2407         Unreviewed, rolling out r142820.
2408         http://trac.webkit.org/changeset/142820
2409         https://bugs.webkit.org/show_bug.cgi?id=109839
2410
2411         Causing crashes on chromium canaries (Requested by atwilson_
2412         on #webkit).
2413
2414         * dom/Document.cpp:
2415         (WebCore::Document::updateLayout):
2416         (WebCore::Document::implicitClose):
2417         * rendering/RenderQuote.h:
2418         (RenderQuote):
2419         * rendering/RenderView.cpp:
2420         * rendering/RenderView.h:
2421
2422 2013-02-14  Mario Sanchez Prada  <mario.prada@samsung.com>
2423
2424         [GTK] Missing call to g_object_ref while retrieving accessible table cells
2425         https://bugs.webkit.org/show_bug.cgi?id=106903
2426
2427         Reviewed by Martin Robinson.
2428
2429         Add missing extra ref to implementation of atk_table_ref_at().
2430
2431         Test: accessibility/table-cell-for-column-and-row-crash.html
2432
2433         * accessibility/atk/WebKitAccessibleInterfaceTable.cpp:
2434         (webkitAccessibleTableRefAt): This method transfers full ownership
2435         over the returned AtkObject, so an extra reference is needed here.
2436
2437 2013-02-14  Mike Fenton  <mifenton@rim.com>
2438
2439         [BlackBerry] Update keyboard event details to match platform details.
2440         https://bugs.webkit.org/show_bug.cgi?id=109693
2441
2442         Reviewed by Yong Li.
2443
2444         PR 220170.
2445
2446         Update the keyboard event details to match the
2447         platform details available.
2448
2449         Rename helper function to better describe the conversion.
2450
2451         Reviewed Internally by Nima Ghanavatian and Gen Mak.
2452
2453         * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
2454         (WebCore::windowsKeyCodeForBlackBerryKeycode):
2455         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2456
2457 2013-02-08  Andrey Kosyakov  <caseq@chromium.org>
2458
2459         Web Inspector: expose did{Begin,Cancel}Frame() and {will,did}Composite() on WebDebToolsAgent
2460         https://bugs.webkit.org/show_bug.cgi?id=109192
2461
2462         Reviewed by Pavel Feldman.
2463
2464         - remove frame and compositing instrumentation methods from InspectorInstrumentation;
2465         - expose those methods on InspectorController instead.
2466
2467         * WebCore.exp.in:
2468         * inspector/InspectorController.cpp:
2469         (WebCore::InspectorController::didBeginFrame):
2470         (WebCore):
2471         (WebCore::InspectorController::didCancelFrame):
2472         (WebCore::InspectorController::willComposite):
2473         (WebCore::InspectorController::didComposite):
2474         * inspector/InspectorController.h:
2475         (InspectorController):
2476         * inspector/InspectorInstrumentation.cpp:
2477         (WebCore):
2478         * inspector/InspectorInstrumentation.h:
2479         (InspectorInstrumentation):
2480         * testing/Internals.cpp:
2481         (WebCore::Internals::emitInspectorDidBeginFrame):
2482         (WebCore::Internals::emitInspectorDidCancelFrame):
2483
2484 2013-02-14  Vladislav Kaznacheev  <kaznacheev@chromium.org>
2485
2486         Web Inspector: Fixed a layout regression in CanvasProfileView.
2487         https://bugs.webkit.org/show_bug.cgi?id=109835
2488
2489         Reviewed by Pavel Feldman.
2490
2491         Changed splitView.css to supported nested SplitView instances.
2492
2493         * inspector/front-end/splitView.css:
2494         (.split-view-vertical > .split-view-contents):
2495         (.split-view-vertical > .split-view-contents-first):
2496         (.split-view-vertical > .split-view-contents-first.maximized):
2497         (.split-view-vertical > .split-view-contents-second):
2498         (.split-view-vertical > .split-view-contents-second.maximized):
2499         (.split-view-horizontal > .split-view-contents):
2500         (.split-view-horizontal > .split-view-contents-first):
2501         (.split-view-horizontal > .split-view-contents-first.maximized):
2502         (.split-view-horizontal > .split-view-contents-second):
2503         (.split-view-horizontal > .split-view-contents-second.maximized):
2504         (.split-view-vertical > .split-view-sidebar.split-view-contents-first:not(.maximized)):
2505         (.split-view-vertical > .split-view-sidebar.split-view-contents-second:not(.maximized)):
2506         (.split-view-horizontal > .split-view-sidebar.split-view-contents-first:not(.maximized)):
2507         (.split-view-horizontal > .split-view-sidebar.split-view-contents-second:not(.maximized)):
2508         (.split-view-vertical > .split-view-resizer):
2509         (.split-view-horizontal > .split-view-resizer):
2510
2511 2013-02-14  Vladislav Kaznacheev  <kaznacheev@chromium.org>
2512
2513         Web Inspector: Color picker should not be available in Computed Styles pane.
2514         https://bugs.webkit.org/show_bug.cgi?id=109697
2515
2516         Reviewed by Alexander Pavlov.
2517
2518         Changed the parentPane parameter of WebInspector.ComputedStylePropertiesSection to the correct value
2519         (the ComputedStyleSidebarPane instance).
2520
2521         * inspector/front-end/StylesSidebarPane.js:
2522         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
2523
2524 2013-02-14  Yury Semikhatsky  <yurys@chromium.org>
2525
2526         Web Inspector: don't create static local string for program literal in InspectorTimelineAgent
2527         https://bugs.webkit.org/show_bug.cgi?id=109811
2528
2529         Reviewed by Pavel Feldman.
2530
2531         Use const char* constant value instead of creating String from it in thread-unsafe
2532         static local variable.
2533
2534         * inspector/InspectorTimelineAgent.cpp:
2535         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
2536
2537 2013-02-14  Pan Deng  <pan.deng@intel.com>
2538
2539         [Web Inspector] Fix initiator name issue in reload scenario for Network Panel.
2540         https://bugs.webkit.org/show_bug.cgi?id=108746.
2541
2542         Reviewed by Vsevolod Vlasov.
2543
2544         WebInspector.displayNameForURL() does not work as expected in the reload scenario,
2545         for example, "http://www.yahoo.com/" was trimed to "/" at one time, but at another,
2546         the full host name will be displayed.
2547         This fix return host + "/" in the issue scenario, and keep with get displayName() in ParsedURL.
2548
2549         No new tests.
2550
2551         * inspector/front-end/ParsedURL.js:
2552         (WebInspector.ParsedURL.prototype.get displayName): append "/" in the display host scenario.
2553         * inspector/front-end/ResourceUtils.js:
2554         (WebInspector.displayNameForURL): add host in the head if url trimed as a "/".
2555
2556 2013-02-14  Alexei Filippov  <alph@chromium.org>
2557
2558         Web Inspector: fix to record button remaining red after heap snapshot is taken
2559         https://bugs.webkit.org/show_bug.cgi?id=109804
2560
2561         Reviewed by Yury Semikhatsky.
2562
2563         Revert part of r142243 fix. Namely heap snapshot taking button made
2564         stateless as it was before.
2565
2566         * inspector/front-end/HeapSnapshotView.js:
2567         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
2568         * inspector/front-end/ProfilesPanel.js:
2569         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
2570
2571 2013-02-14  Alexander Pavlov  <apavlov@chromium.org>
2572
2573         Web Inspector: Consistently use SecurityOrigin::toRawString() for serialization across the backend code
2574         https://bugs.webkit.org/show_bug.cgi?id=109801
2575
2576         Reviewed by Yury Semikhatsky.
2577
2578         No new tests, as existing tests cover the change.
2579
2580         * inspector/InspectorAgent.cpp:
2581         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
2582         * inspector/InspectorIndexedDBAgent.cpp:
2583         (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
2584         * inspector/InspectorPageAgent.cpp:
2585         (WebCore::InspectorPageAgent::buildObjectForFrame):
2586         * inspector/PageRuntimeAgent.cpp:
2587         (WebCore::PageRuntimeAgent::notifyContextCreated):
2588
2589 2013-02-14  Sergio Villar Senin  <svillar@igalia.com>
2590
2591         Add logging support to IndexedDB for non-Chromium platforms
2592         https://bugs.webkit.org/show_bug.cgi?id=109809
2593
2594         Reviewed by Kentaro Hara.
2595
2596         Enable logging of IndexedDB through the StorageAPI log channel for
2597         non-Chromium architectures.
2598
2599         No new tests required, we're just enabling logging for IndexedDB
2600         using the currently available logging framework.
2601
2602         * Modules/indexeddb/IDBTracing.h:
2603
2604 2013-02-14  Vsevolod Vlasov  <vsevik@chromium.org>
2605
2606         Web Inspector: Remove uriForFile and fileForURI methods from FileSystemMapping.
2607         https://bugs.webkit.org/show_bug.cgi?id=109704
2608
2609         Reviewed by Alexander Pavlov.
2610
2611         Replaced this methods with one line implementation on the only call site.
2612
2613         * inspector/front-end/FileSystemMapping.js:
2614         * inspector/front-end/FileSystemProjectDelegate.js:
2615         (WebInspector.FileSystemProjectDelegate.prototype._filePathForURI):
2616         (WebInspector.FileSystemProjectDelegate.prototype.setFileContent):
2617         (WebInspector.FileSystemProjectDelegate.prototype._populate.filesLoaded):
2618         (WebInspector.FileSystemProjectDelegate.prototype._populate):
2619
2620 2013-02-14  Anton Vayvod  <avayvod@chromium.org>
2621
2622         [Text Autosizing] Process narrow descendants with the same multiplier for the font size.
2623         https://bugs.webkit.org/show_bug.cgi?id=109573
2624
2625         Reviewed by Julien Chaffraix.
2626
2627         Combine narrow descendants of the same autosizing cluster into a group that is autosized
2628         with the same multiplier.
2629
2630         For example, on sites with a sidebar, sometimes the paragraphs next to the sidebar will have
2631         a large margin individually applied (via a CSS selector), causing them all to individually
2632         appear narrower than their enclosing blockContainingAllText. Rather than making each of
2633         these paragraphs into a separate cluster, we want them all to share the same multiplier, as
2634         if they were a single cluster.
2635
2636         Test: fast/text-autosizing/narrow-descendants-combined.html
2637
2638         * rendering/TextAutosizer.cpp:
2639         (WebCore::TextAutosizer::processClusterInternal):
2640
2641             Common implementation for processCluster() and processCompositeCluster that accepts the
2642             text width and whether the cluster should be autosized as parameters instead of
2643             calculating it inline.
2644
2645         (WebCore::TextAutosizer::processCluster):
2646
2647             Calculates the text width for a single cluster and whether it should be autosized, then
2648             calls processClusterInternal() to apply the multiplier and process the cluster's
2649             descendants.
2650
2651         (WebCore::TextAutosizer::processCompositeCluster):
2652
2653             Calculates the text width for a group of renderers and if the group should be autosized,
2654             then calls processClusterInternal() repeatedly with the same multiplier to apply it and
2655             process all the descendants of the group.
2656
2657         (WebCore::TextAutosizer::clusterShouldBeAutosized):
2658
2659             Calls the multiple renderers version to avoid code duplication.
2660
2661         (WebCore::TextAutosizer::compositeClusterShouldBeAutosized):
2662
2663             The multiple renderers version of clusterShouldBeAutosized.
2664
2665         * rendering/TextAutosizer.h:
2666
2667             Updated method declarations.
2668
2669 2013-02-14  Andrey Adaikin  <aandrey@chromium.org>
2670
2671         Look into possibilities of typedef in webkit idl files
2672         https://bugs.webkit.org/show_bug.cgi?id=52340
2673
2674         Reviewed by Kentaro Hara.
2675
2676         Add typedef support for WebKit IDL parser.
2677         Drive by: fixed a bug of generating "unrestrictedfloat" without a space.
2678
2679         Added a new IDL test TestTypedefs.idl. The results were generated without typedefs.
2680
2681         * bindings/scripts/IDLParser.pm:
2682         (assertNoExtendedAttributesInTypedef):
2683         (parseDefinitions):
2684         (applyTypedefs):
2685         (applyTypedefsForSignature):
2686         (parseTypedef):
2687         (parseUnrestrictedFloatType):
2688         * bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp: Added.
2689         (WebDOMTestTypedefs::WebDOMTestTypedefsPrivate::WebDOMTestTypedefsPrivate):
2690         (WebDOMTestTypedefs::WebDOMTestTypedefsPrivate):
2691         (WebDOMTestTypedefs::WebDOMTestTypedefs):
2692         (WebDOMTestTypedefs::operator=):
2693         (WebDOMTestTypedefs::impl):
2694         (WebDOMTestTypedefs::~WebDOMTestTypedefs):
2695         (WebDOMTestTypedefs::unsignedLongLongAttr):
2696         (WebDOMTestTypedefs::setUnsignedLongLongAttr):
2697         (WebDOMTestTypedefs::immutableSerializedScriptValue):
2698         (WebDOMTestTypedefs::setImmutableSerializedScriptValue):
2699         (WebDOMTestTypedefs::func):
2700         (WebDOMTestTypedefs::multiTransferList):
2701         (WebDOMTestTypedefs::setShadow):
2702         (WebDOMTestTypedefs::nullableArrayArg):
2703         (WebDOMTestTypedefs::immutablePointFunction):
2704         (toWebCore):
2705         (toWebKit):
2706         * bindings/scripts/test/CPP/WebDOMTestTypedefs.h: Added.
2707         (WebCore):
2708         (WebDOMTestTypedefs):
2709         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp: Added.
2710         (_WebKitDOMTestTypedefsPrivate):
2711         (WebKit):
2712         (WebKit::kit):
2713         (WebKit::core):
2714         (WebKit::wrapTestTypedefs):
2715         (webkit_dom_test_typedefs_finalize):
2716         (webkit_dom_test_typedefs_set_property):
2717         (webkit_dom_test_typedefs_get_property):
2718         (webkit_dom_test_typedefs_constructor):
2719         (webkit_dom_test_typedefs_class_init):
2720         (webkit_dom_test_typedefs_init):
2721         (webkit_dom_test_typedefs_func):
2722         (webkit_dom_test_typedefs_multi_transfer_list):
2723         (webkit_dom_test_typedefs_set_shadow):
2724         (webkit_dom_test_typedefs_nullable_array_arg):
2725         (webkit_dom_test_typedefs_immutable_point_function):
2726         (webkit_dom_test_typedefs_string_array_function):
2727         (webkit_dom_test_typedefs_get_unsigned_long_long_attr):
2728         (webkit_dom_test_typedefs_set_unsigned_long_long_attr):
2729         (webkit_dom_test_typedefs_get_immutable_serialized_script_value):
2730         (webkit_dom_test_typedefs_set_immutable_serialized_script_value):
2731         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h: Added.
2732         (_WebKitDOMTestTypedefs):
2733         (_WebKitDOMTestTypedefsClass):
2734         * bindings/scripts/test/GObject/WebKitDOMTestTypedefsPrivate.h: Added.
2735         (WebKit):
2736         * bindings/scripts/test/JS/JSTestTypedefs.cpp: Added.
2737         (WebCore):
2738         (WebCore::JSTestTypedefsConstructor::constructJSTestTypedefs):
2739         (WebCore::JSTestTypedefsConstructor::JSTestTypedefsConstructor):
2740         (WebCore::JSTestTypedefsConstructor::finishCreation):
2741         (WebCore::JSTestTypedefsConstructor::getOwnPropertySlot):
2742         (WebCore::JSTestTypedefsConstructor::getOwnPropertyDescriptor):
2743         (WebCore::JSTestTypedefsConstructor::getConstructData):
2744         (WebCore::JSTestTypedefsPrototype::self):
2745         (WebCore::JSTestTypedefsPrototype::getOwnPropertySlot):
2746         (WebCore::JSTestTypedefsPrototype::getOwnPropertyDescriptor):
2747         (WebCore::JSTestTypedefs::JSTestTypedefs):
2748         (WebCore::JSTestTypedefs::finishCreation):
2749         (WebCore::JSTestTypedefs::createPrototype):
2750         (WebCore::JSTestTypedefs::destroy):
2751         (WebCore::JSTestTypedefs::~JSTestTypedefs):
2752         (WebCore::JSTestTypedefs::getOwnPropertySlot):
2753         (WebCore::JSTestTypedefs::getOwnPropertyDescriptor):
2754         (WebCore::jsTestTypedefsUnsignedLongLongAttr):
2755         (WebCore::jsTestTypedefsImmutableSerializedScriptValue):
2756         (WebCore::jsTestTypedefsConstructorTestSubObj):
2757         (WebCore::jsTestTypedefsConstructor):
2758         (WebCore::JSTestTypedefs::put):
2759         (WebCore::setJSTestTypedefsUnsignedLongLongAttr):
2760         (WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
2761         (WebCore::JSTestTypedefs::getConstructor):
2762         (WebCore::jsTestTypedefsPrototypeFunctionFunc):
2763         (WebCore::jsTestTypedefsPrototypeFunctionMultiTransferList):
2764         (WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
2765         (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
2766         (WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
2767         (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
2768         (WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
2769         (WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
2770         (WebCore::isObservable):
2771         (WebCore::JSTestTypedefsOwner::isReachableFromOpaqueRoots):
2772         (WebCore::JSTestTypedefsOwner::finalize):
2773         (WebCore::toJS):
2774         (WebCore::toTestTypedefs):
2775         * bindings/scripts/test/JS/JSTestTypedefs.h: Added.
2776         (WebCore):
2777         (JSTestTypedefs):
2778         (WebCore::JSTestTypedefs::create):
2779         (WebCore::JSTestTypedefs::createStructure):
2780         (WebCore::JSTestTypedefs::impl):
2781         (WebCore::JSTestTypedefs::releaseImpl):
2782         (WebCore::JSTestTypedefs::releaseImplIfNotNull):
2783         (JSTestTypedefsOwner):
2784         (WebCore::wrapperOwner):
2785         (WebCore::wrapperContext):
2786         (JSTestTypedefsPrototype):
2787         (WebCore::JSTestTypedefsPrototype::create):
2788         (WebCore::JSTestTypedefsPrototype::createStructure):
2789         (WebCore::JSTestTypedefsPrototype::JSTestTypedefsPrototype):
2790         (JSTestTypedefsConstructor):
2791         (WebCore::JSTestTypedefsConstructor::create):
2792         (WebCore::JSTestTypedefsConstructor::createStructure):
2793         * bindings/scripts/test/ObjC/DOMTestTypedefs.h: Added.
2794         * bindings/scripts/test/ObjC/DOMTestTypedefs.mm: Added.
2795         (-[DOMTestTypedefs dealloc]):
2796         (-[DOMTestTypedefs finalize]):
2797         (-[DOMTestTypedefs unsignedLongLongAttr]):
2798         (-[DOMTestTypedefs setUnsignedLongLongAttr:]):
2799         (-[DOMTestTypedefs immutableSerializedScriptValue]):
2800         (-[DOMTestTypedefs setImmutableSerializedScriptValue:]):
2801         (-[DOMTestTypedefs multiTransferList:tx:second:txx:]):
2802         (-[DOMTestTypedefs setShadow:height:blur:color:alpha:]):
2803         (-[DOMTestTypedefs immutablePointFunction]):
2804         (core):
2805         (kit):
2806         * bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h: Added.
2807         (WebCore):
2808         * bindings/scripts/test/TestTypedefs.idl: Added.
2809         * bindings/scripts/test/V8/V8TestTypedefs.cpp: Added.
2810         (WebCore):
2811         (WebCore::checkTypeOrDieTrying):
2812         (TestTypedefsV8Internal):
2813         (WebCore::TestTypedefsV8Internal::V8_USE):
2814         (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrGetter):
2815         (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrSetter):
2816         (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrGetter):
2817         (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrSetter):
2818         (WebCore::TestTypedefsV8Internal::TestTypedefsConstructorGetter):
2819         (WebCore::TestTypedefsV8Internal::TestTypedefsReplaceableAttrSetter):
2820         (WebCore::TestTypedefsV8Internal::funcCallback):
2821         (WebCore::TestTypedefsV8Internal::multiTransferListCallback):
2822         (WebCore::TestTypedefsV8Internal::setShadowCallback):
2823         (WebCore::TestTypedefsV8Internal::methodWithSequenceArgCallback):
2824         (WebCore::TestTypedefsV8Internal::nullableArrayArgCallback):
2825         (WebCore::TestTypedefsV8Internal::funcWithClampCallback):
2826         (WebCore::TestTypedefsV8Internal::immutablePointFunctionCallback):
2827         (WebCore::TestTypedefsV8Internal::stringArrayFunctionCallback):
2828         (WebCore::V8TestTypedefs::constructorCallback):
2829         (WebCore::ConfigureV8TestTypedefsTemplate):
2830         (WebCore::V8TestTypedefs::GetRawTemplate):
2831         (WebCore::V8TestTypedefs::GetTemplate):
2832         (WebCore::V8TestTypedefs::HasInstance):
2833         (WebCore::V8TestTypedefs::createWrapper):
2834         (WebCore::V8TestTypedefs::derefObject):
2835         * bindings/scripts/test/V8/V8TestTypedefs.h: Added.
2836         (WebCore):
2837         (V8TestTypedefs):
2838         (WebCore::V8TestTypedefs::toNative):
2839         (WebCore::V8TestTypedefs::installPerContextProperties):
2840         (WebCore::V8TestTypedefs::installPerContextPrototypeProperties):
2841         (WebCore::wrap):
2842         (WebCore::toV8):
2843         (WebCore::toV8Fast):
2844
2845 2013-02-13  Kentaro Hara  <haraken@chromium.org>
2846
2847         [V8] Rename XXXAccessorGetter() to XXXAttrGetterCustom(),
2848         and XXXAccessorSetter() to XXXAttrSetterCustom()
2849         https://bugs.webkit.org/show_bug.cgi?id=109679
2850
2851         Reviewed by Adam Barth.
2852
2853         For naming consistency and clarification.
2854
2855         No tests. No change in behavior.
2856
2857         * bindings/scripts/CodeGeneratorV8.pm:
2858         (GenerateHeader):
2859         (GenerateHeaderCustomCall):
2860         (GenerateNormalAttrGetter):
2861         (GenerateNormalAttrSetter):
2862         (GenerateImplementation):
2863         * bindings/scripts/test/V8/V8TestInterface.cpp:
2864         (WebCore::TestInterfaceV8Internal::supplementalStr3AttrGetter):
2865         (WebCore::TestInterfaceV8Internal::supplementalStr3AttrSetter):
2866         * bindings/scripts/test/V8/V8TestObj.cpp:
2867         (WebCore::TestObjV8Internal::customAttrAttrGetter):
2868         (WebCore::TestObjV8Internal::customAttrAttrSetter):
2869         * bindings/scripts/test/V8/V8TestObj.h:
2870         (V8TestObj):
2871         * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
2872         (WebCore::V8AudioBufferSourceNode::bufferAttrSetterCustom):
2873         * bindings/v8/custom/V8BiquadFilterNodeCustom.cpp:
2874         (WebCore::V8BiquadFilterNode::typeAttrSetterCustom):
2875         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2876         (WebCore::V8CanvasRenderingContext2D::strokeStyleAttrGetterCustom):
2877         (WebCore::V8CanvasRenderingContext2D::strokeStyleAttrSetterCustom):
2878         (WebCore::V8CanvasRenderingContext2D::fillStyleAttrGetterCustom):
2879         (WebCore::V8CanvasRenderingContext2D::fillStyleAttrSetterCustom):
2880         * bindings/v8/custom/V8ClipboardCustom.cpp:
2881         (WebCore::V8Clipboard::typesAttrGetterCustom):
2882         * bindings/v8/custom/V8CoordinatesCustom.cpp:
2883         (WebCore::V8Coordinates::altitudeAttrGetterCustom):
2884         (WebCore::V8Coordinates::altitudeAccuracyAttrGetterCustom):
2885         (WebCore::V8Coordinates::headingAttrGetterCustom):
2886         (WebCore::V8Coordinates::speedAttrGetterCustom):
2887         * bindings/v8/custom/V8CustomEventCustom.cpp:
2888         (WebCore::V8CustomEvent::detailAttrGetterCustom):
2889         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2890         (WebCore::V8DOMWindow::eventAttrGetterCustom):
2891         (WebCore::V8DOMWindow::eventAttrSetterCustom):
2892         (WebCore::V8DOMWindow::locationAttrSetterCustom):
2893         (WebCore::V8DOMWindow::openerAttrSetterCustom):
2894         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
2895         (WebCore::V8DeviceMotionEvent::accelerationAttrGetterCustom):
2896         (WebCore::V8DeviceMotionEvent::accelerationIncludingGravityAttrGetterCustom):
2897         (WebCore::V8DeviceMotionEvent::rotationRateAttrGetterCustom):
2898         (WebCore::V8DeviceMotionEvent::intervalAttrGetterCustom):
2899         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
2900         (WebCore::V8DeviceOrientationEvent::alphaAttrGetterCustom):
2901         (WebCore::V8DeviceOrientationEvent::betaAttrGetterCustom):
2902         (WebCore::V8DeviceOrientationEvent::gammaAttrGetterCustom):
2903         (WebCore::V8DeviceOrientationEvent::absoluteAttrGetterCustom):
2904         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
2905         (WebCore::V8Document::locationAttrGetterCustom):
2906         (WebCore::V8Document::locationAttrSetterCustom):
2907         * bindings/v8/custom/V8EventCustom.cpp:
2908         (WebCore::V8Event::dataTransferAttrGetterCustom):
2909         (WebCore::V8Event::clipboardDataAttrGetterCustom):
2910         * bindings/v8/custom/V8FileReaderCustom.cpp:
2911         (WebCore::V8FileReader::resultAttrGetterCustom):
2912         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2913         (WebCore::V8HTMLDocument::allAttrSetterCustom):
2914         * bindings/v8/custom/V8HTMLElementCustom.cpp:
2915         (WebCore::V8HTMLElement::itemValueAttrGetterCustom):
2916         (WebCore::V8HTMLElement::itemValueAttrSetterCustom):
2917         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
2918         (WebCore::V8HTMLFrameElement::locationAttrSetterCustom):
2919         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
2920         (WebCore::V8HTMLInputElement::selectionStartAttrGetterCustom):
2921         (WebCore::V8HTMLInputElement::selectionStartAttrSetterCustom):
2922         (WebCore::V8HTMLInputElement::selectionEndAttrGetterCustom):
2923         (WebCore::V8HTMLInputElement::selectionEndAttrSetterCustom):
2924         (WebCore::V8HTMLInputElement::selectionDirectionAttrGetterCustom):
2925         (WebCore::V8HTMLInputElement::selectionDirectionAttrSetterCustom):
2926         * bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
2927         (WebCore::V8HTMLLinkElement::sizesAttrGetterCustom):
2928         (WebCore::V8HTMLLinkElement::sizesAttrSetterCustom):
2929         * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
2930         (WebCore::V8HTMLMediaElement::controllerAttrSetterCustom):
2931         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2932         (WebCore::V8HTMLOptionsCollection::lengthAttrSetterCustom):
2933         * bindings/v8/custom/V8HistoryCustom.cpp:
2934         (WebCore::V8History::stateAttrGetterCustom):
2935         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
2936         (WebCore::V8JavaScriptCallFrame::scopeChainAttrGetterCustom):
2937         (WebCore::V8JavaScriptCallFrame::thisObjectAttrGetterCustom):
2938         (WebCore::V8JavaScriptCallFrame::typeAttrGetterCustom):
2939         * bindings/v8/custom/V8LocationCustom.cpp:
2940         (WebCore::V8Location::hashAttrSetterCustom):
2941         (WebCore::V8Location::hostAttrSetterCustom):
2942         (WebCore::V8Location::hostnameAttrSetterCustom):
2943         (WebCore::V8Location::hrefAttrSetterCustom):
2944         (WebCore::V8Location::pathnameAttrSetterCustom):
2945         (WebCore::V8Location::portAttrSetterCustom):
2946         (WebCore::V8Location::protocolAttrSetterCustom):
2947         (WebCore::V8Location::searchAttrSetterCustom):
2948         (WebCore::V8Location::reloadAttrGetterCustom):
2949         (WebCore::V8Location::replaceAttrGetterCustom):
2950         (WebCore::V8Location::assignAttrGetterCustom):
2951         * bindings/v8/custom/V8MessageEventCustom.cpp:
2952         (WebCore::V8MessageEvent::dataAttrGetterCustom):
2953         (WebCore::V8MessageEvent::portsAttrGetterCustom):
2954         * bindings/v8/custom/V8OscillatorNodeCustom.cpp:
2955         (WebCore::V8OscillatorNode::typeAttrSetterCustom):
2956         * bindings/v8/custom/V8PannerNodeCustom.cpp:
2957         (WebCore::V8PannerNode::panningModelAttrSetterCustom):
2958         (WebCore::V8PannerNode::distanceModelAttrSetterCustom):
2959         * bindings/v8/custom/V8PopStateEventCustom.cpp:
2960         (WebCore::V8PopStateEvent::stateAttrGetterCustom):
2961         * bindings/v8/custom/V8SVGLengthCustom.cpp:
2962         (WebCore::V8SVGLength::valueAttrGetterCustom):
2963         (WebCore::V8SVGLength::valueAttrSetterCustom):
2964         * bindings/v8/custom/V8TrackEventCustom.cpp:
2965         (WebCore::V8TrackEvent::trackAttrGetterCustom):
2966         * bindings/v8/custom/V8WebKitAnimationCustom.cpp:
2967         (WebCore::V8WebKitAnimation::iterationCountAttrGetterCustom):
2968         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2969         (WebCore::V8XMLHttpRequest::responseTextAttrGetterCustom):
2970         (WebCore::V8XMLHttpRequest::responseAttrGetterCustom):
2971
2972 2013-02-14  Yury Semikhatsky  <yurys@chromium.org>
2973
2974         Web Inspector: extract DOM counters graph implementation into its own class
2975         https://bugs.webkit.org/show_bug.cgi?id=109796
2976
2977         Reviewed by Alexander Pavlov.
2978
2979         Extracted DOM counters graph implementation into DOMCountersGraph.js leaving
2980         in MemoryStatistics.js only common parts shared with NativeMemoryGraph.js
2981         Added some closure annotations and converted object literals into classes
2982         with named constructors.
2983
2984         * WebCore.gypi:
2985         * WebCore.vcproj/WebCore.vcproj:
2986         * inspector/compile-front-end.py:
2987         * inspector/front-end/DOMCountersGraph.js: Added.
2988         (WebInspector.DOMCountersGraph):
2989         (WebInspector.DOMCounterUI):
2990         (WebInspector.DOMCountersGraph.Counter):
2991         (WebInspector.DOMCounterUI.prototype.setRange):
2992         (WebInspector.DOMCounterUI.prototype.updateCurrentValue):
2993         (WebInspector.DOMCounterUI.prototype.clearCurrentValueAndMarker):
2994         (WebInspector.DOMCounterUI.prototype.saveImageUnderMarker):
2995         (WebInspector.DOMCounterUI.prototype.restoreImageUnderMarker):
2996         (WebInspector.DOMCounterUI.prototype.discardImageUnderMarker):
2997         (WebInspector.DOMCountersGraph.prototype._createCurrentValuesBar):
2998         (WebInspector.DOMCountersGraph.prototype._createCounterUIList):
2999         (WebInspector.DOMCountersGraph.prototype._createCounterUIList.getNodeCount):
3000         (WebInspector.DOMCountersGraph.prototype._createCounterUIList.getListenerCount):
3001         (WebInspector.DOMCountersGraph.prototype._canvasHeight):
3002         (WebInspector.DOMCountersGraph.prototype._onRecordAdded):
3003         (WebInspector.DOMCountersGraph.prototype._draw):
3004         (WebInspector.DOMCountersGraph.prototype._restoreImageUnderMarker):
3005         (WebInspector.DOMCountersGraph.prototype._saveImageUnderMarker):
3006         (WebInspector.DOMCountersGraph.prototype._drawMarker):
3007         (WebInspector.DOMCountersGraph.prototype._drawGraph):
3008         (WebInspector.DOMCountersGraph.prototype._discardImageUnderMarker):
3009         * inspector/front-end/MemoryStatistics.js:
3010         (WebInspector.MemoryStatistics):
3011         (WebInspector.MemoryStatistics.Counter):
3012         (WebInspector.MemoryStatistics.prototype._createCurrentValuesBar):
3013         (WebInspector.MemoryStatistics.prototype._createCounterUIList):
3014         (WebInspector.MemoryStatistics.prototype.setTopPosition):
3015         (WebInspector.MemoryStatistics.prototype._canvasHeight):
3016         (WebInspector.MemoryStatistics.prototype._onRecordAdded):
3017         (WebInspector.MemoryStatistics.prototype._draw):
3018         (WebInspector.MemoryStatistics.prototype._onClick):
3019         (WebInspector.MemoryStatistics.prototype._onMouseOut):
3020         (WebInspector.MemoryStatistics.prototype._onMouseOver):
3021         (WebInspector.MemoryStatistics.prototype._onMouseMove):
3022         (WebInspector.MemoryStatistics.prototype._restoreImageUnderMarker):
3023         (WebInspector.MemoryStatistics.prototype._drawMarker):
3024         (WebInspector.MemoryStatistics.prototype._discardImageUnderMarker):
3025         * inspector/front-end/NativeMemoryGraph.js:
3026         (WebInspector.NativeMemoryGraph.Counter):
3027         (WebInspector.NativeMemoryGraph.prototype._onRecordAdded.addStatistics):
3028         (WebInspector.NativeMemoryGraph.prototype._onRecordAdded):
3029         (WebInspector.NativeMemoryGraph.prototype._draw):
3030         * inspector/front-end/TimelinePanel.js:
3031         * inspector/front-end/WebKit.qrc:
3032
3033 2013-02-13  Ilya Tikhonovsky  <loislo@chromium.org>
3034
3035         Web Inspector: Native Memory Instrumentation: Report child nodes as direct members of a container node to make them look like a tree in the snapshot.
3036         https://bugs.webkit.org/show_bug.cgi?id=109703
3037
3038         Also we need to traverse the tree from the top root element down to the leaves.
3039
3040         Reviewed by Yury Semikhatsky.
3041
3042         * dom/ContainerNode.cpp:
3043         (WebCore::ContainerNode::reportMemoryUsage):
3044         * dom/Node.cpp:
3045         (WebCore::Node::reportMemoryUsage):
3046         * inspector/InspectorMemoryAgent.cpp:
3047         (WebCore):
3048
3049 2013-02-13  Hayato Ito  <hayato@chromium.org>
3050
3051         [Shadow DOM] Implements a '::distributed()' pseudo element.
3052         https://bugs.webkit.org/show_bug.cgi?id=82169
3053
3054         Reviewed by Dimitri Glazkov.
3055
3056         Implements a '::distributed()' pseudo element.
3057         See the Shadow DOM specification and the filed bug for the detail.
3058
3059         - http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#selecting-nodes-distributed-to-insertion-points
3060         - https://www.w3.org/Bugs/Public/show_bug.cgi?id=19684
3061
3062         For example, suppose we are given the following DOM tree and shadow tree:
3063
3064         - <A>
3065           - <B>
3066             - <C>
3067
3068         [A's ShadowRoot]
3069           <D>
3070           - <style>
3071               E content::distributed(B C) { color: green; }
3072           - <E>
3073             - <content>  (Node B is distributed to this insertion point.)
3074
3075         In this case, the style rule defined in the shadow tree matches node 'C'.
3076
3077         A '::distributed()' pseudo element can not be a pseudo class since
3078         an intersection between matched_elements(some_selector) and
3079         matched_elements(some_selector::distributed(...)) is always an
3080         empty set. A '::distributed()' pseudo element is the first-ever
3081         *functional* pseudo element which takes a parameter, which can be
3082         a selector.
3083
3084         This rule crosses the shadow boundary from a shadow tree to the
3085         tree of its shadow host. That means a rule which includes
3086         '::distributed()' pseudo element is defined in shadow tree, but
3087         the node which is matched in the rule, the subject of the
3088         selector, is outside of the shadow tree. Therefore, we cannot
3089         predict where the subject of the selector will be beforehand.
3090         Current CSS implementation assumes the subject of the selector
3091         must exist in the current scope.
3092
3093         To overcome this issue, DocumentRuleSets now has a instance of
3094         ShadowDistributedRules class.  A style rule will be stored in this
3095         instance if the rule includes a '::distributed()' pseudo element.
3096         This class also keeps track of each RuleSet by mapping it with a
3097         scope where the rule was originally defined. In the example, the
3098         scope is A's ShadowRoot.  The scope is used to check whether the
3099         left-most matched element (in the example, it's a node 'E') exists
3100         in the scope.
3101
3102         Internally, a '::distributed' pseudo element is represented by a
3103         newly introduced 'ShadowDistributed' relation.  That makes an
3104         implementation of SelectorChecker::checkSelector() much simpler.
3105         A transformation from a distributed pseudo element to a
3106         ShadowDistributed is done in parsing stage of CSS.
3107
3108         Since '::distributed()' is an experimental feature, it's actually
3109         prefixed with '-webkit-' and guarded by SHADOW_DOM flag.
3110
3111         Tests: fast/dom/shadow/distributed-pseudo-element-for-shadow-element.html
3112                fast/dom/shadow/distributed-pseudo-element-match-all.html
3113                fast/dom/shadow/distributed-pseudo-element-match-descendant.html
3114                fast/dom/shadow/distributed-pseudo-element-nested.html
3115                fast/dom/shadow/distributed-pseudo-element-no-match.html
3116                fast/dom/shadow/distributed-pseudo-element-reprojection.html
3117                fast/dom/shadow/distributed-pseudo-element-scoped.html
3118                fast/dom/shadow/distributed-pseudo-element-support-selector.html
3119                fast/dom/shadow/distributed-pseudo-element-used-in-selector-list.html
3120                fast/dom/shadow/distributed-pseudo-element-with-any.html
3121                fast/dom/shadow/distributed-pseudo-element.html
3122
3123         * css/CSSGrammar.y.in:
3124         CSS Grammar was updated to support '::distrbuted(selector)'.
3125         This pseudo element is the first pseudo element which can take a selector as a parameter.
3126         * css/CSSParser.cpp:
3127         (WebCore::CSSParser::detectDashToken):
3128         (WebCore::CSSParser::rewriteSpecifiersWithNamespaceIfNeeded):
3129         (WebCore::CSSParser::rewriteSpecifiersWithElementName):
3130         Here we are converting a '::distributed' pseudo element into a
3131         ShadowDistributed relation internally.  To support the conversion,
3132         these rewriteSpecifiersXXX functions (formally called
3133         updateSpecifiersXXX) now return the specifiers which may be
3134         converted.
3135         (WebCore::CSSParser::rewriteSpecifiers):
3136         * css/CSSParser.h:
3137         * css/CSSParserValues.cpp:
3138         (WebCore::CSSParserSelector::CSSParserSelector):
3139         * css/CSSParserValues.h:
3140         (CSSParserSelector):
3141         (WebCore::CSSParserSelector::functionArgumentSelector):
3142         To hold an intermediate selector which appears at the position of an argument in
3143         functional pseudo element when parsing CSS.
3144         (WebCore::CSSParserSelector::setFunctionArgumentSelector):
3145         (WebCore::CSSParserSelector::isDistributedPseudoElement):
3146         * css/CSSSelector.cpp:
3147         Add new pseudo element, PseudoDistributed, and its internal representation, ShadowDistributed relation.
3148         (WebCore::CSSSelector::pseudoId):
3149         (WebCore::nameToPseudoTypeMap):
3150         (WebCore::CSSSelector::extractPseudoType):
3151         (WebCore::CSSSelector::selectorText):
3152         * css/CSSSelector.h:
3153         (CSSSelector):
3154         (WebCore):
3155         (WebCore::CSSSelector::isDistributedPseudoElement):
3156         (WebCore::CSSSelector::isShadowDistributed):
3157         * css/CSSSelectorList.cpp:
3158         (WebCore):
3159         (SelectorHasShadowDistributed):
3160         (WebCore::SelectorHasShadowDistributed::operator()):
3161         (WebCore::CSSSelectorList::hasShadowDistributedAt):
3162         * css/CSSSelectorList.h:
3163         (CSSSelectorList):
3164         * css/DocumentRuleSets.cpp:
3165         (WebCore):
3166         (WebCore::ShadowDistributedRules::addRule):
3167         Every CSS rule which includes '::distributed(...)' should be managed by calling this function.
3168         (WebCore::ShadowDistributedRules::collectMatchRequests):
3169         (WebCore::DocumentRuleSets::resetAuthorStyle):
3170         * css/DocumentRuleSets.h:
3171         (WebCore):
3172         (ShadowDistributedRules):
3173         (WebCore::ShadowDistributedRules::clear):
3174         (DocumentRuleSets):
3175         (WebCore::DocumentRuleSets::shadowDistributedRules)
3176         DocumentRuleSets owns an instance of ShadowDistributedRules.
3177         * css/RuleSet.cpp:
3178         (WebCore::RuleSet::addChildRules):
3179         Updated to check whether the rule contains '::distributed()' or not.
3180         * css/SelectorChecker.cpp:
3181         (WebCore::SelectorChecker::match):
3182         Support ShadowDistributed relation. Check all possible insertion points where a node is distributed.
3183         * css/SelectorChecker.h:
3184         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
3185         Adds enum of BehaviorAtBoundary. '::distributed()' is the only
3186         rule which uses 'CrossedBoundary' since it is the only rule which
3187         crosses shadow boundaries.
3188         (SelectorCheckingContext):
3189         * css/SelectorFilter.cpp:
3190         (WebCore::SelectorFilter::collectIdentifierHashes):
3191         * css/StyleResolver.cpp:
3192         (WebCore::StyleResolver::collectMatchingRules):
3193         (WebCore::StyleResolver::matchAuthorRules):
3194         (WebCore::StyleResolver::collectMatchingRulesForList):
3195         (WebCore::StyleResolver::ruleMatches):
3196         * css/StyleResolver.h:
3197         (MatchRequest):
3198         (WebCore::MatchRequest::MatchRequest): Add behaviorAtBoundary field.
3199         (WebCore):
3200         (StyleResolver):
3201         * html/shadow/InsertionPoint.cpp:
3202         (WebCore::collectInsertionPointsWhereNodeIsDistributed):
3203         (WebCore):
3204         * html/shadow/InsertionPoint.h:
3205         (WebCore):
3206
3207 2013-02-13  Kentaro Hara  <haraken@chromium.org>
3208
3209         [V8] Generate wrapper methods for custom methods
3210         https://bugs.webkit.org/show_bug.cgi?id=109678
3211
3212         Reviewed by Adam Barth.
3213
3214         Currently V8 directly calls back custom methods written
3215         in custom binding files. This makes it impossible for code
3216         generators to hook custom methods (e.g. Code generators cannot
3217         insert a code for FeatureObservation into custom methods).
3218         To solve the problem, we should generate wrapper methods for
3219         custom methods.
3220
3221         No tests. No change in behavior.
3222
3223         * page/DOMWindow.idl: Removed overloaded methods. The fact that methods in an IDL
3224         file are overloaded but they are not overloaded in custom bindings confuses code
3225         generators. (For some reason, this problem hasn't appeared before this change.)
3226         * xml/XMLHttpRequest.idl: Ditto.
3227
3228         * bindings/scripts/CodeGeneratorV8.pm:
3229         (GenerateHeader):
3230         (GenerateDomainSafeFunctionGetter):
3231         (GenerateEventListenerCallback):
3232         (GenerateFunctionCallback):
3233         (GenerateNonStandardFunction):
3234         (GenerateImplementation):
3235         * bindings/scripts/test/V8/V8TestInterface.cpp:
3236         (WebCore::TestInterfaceV8Internal::supplementalMethod3Callback):
3237         (TestInterfaceV8Internal):
3238         (WebCore):
3239         * bindings/scripts/test/V8/V8TestObj.cpp:
3240         (WebCore::TestObjV8Internal::customMethodCallback):
3241         (TestObjV8Internal):
3242         (WebCore::TestObjV8Internal::customMethodWithArgsCallback):
3243         (WebCore::TestObjV8Internal::classMethod2Callback):
3244         (WebCore):
3245         (WebCore::ConfigureV8TestObjTemplate):
3246         * bindings/scripts/test/V8/V8TestObj.h:
3247         (V8TestObj):
3248         * bindings/v8/custom/V8ClipboardCustom.cpp:
3249         (WebCore::V8Clipboard::clearDataCallbackCustom):
3250         (WebCore::V8Clipboard::setDragImageCallbackCustom):
3251         * bindings/v8/custom/V8ConsoleCustom.cpp:
3252         (WebCore::V8Console::traceCallbackCustom):
3253         (WebCore::V8Console::assertCallbackCustom):
3254         (WebCore::V8Console::profileCallbackCustom):
3255         (WebCore::V8Console::profileEndCallbackCustom):
3256         * bindings/v8/custom/V8CryptoCustom.cpp:
3257         (WebCore::V8Crypto::getRandomValuesCallbackCustom):
3258         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
3259         (WebCore::V8DOMFormData::appendCallbackCustom):
3260         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3261         (WebCore::V8DOMWindow::addEventListenerCallbackCustom):
3262         (WebCore::V8DOMWindow::removeEventListenerCallbackCustom):
3263         (WebCore::V8DOMWindow::postMessageCallbackCustom):
3264         (WebCore::V8DOMWindow::toStringCallbackCustom):
3265         (WebCore::V8DOMWindow::releaseEventsCallbackCustom):
3266         (WebCore::V8DOMWindow::captureEventsCallbackCustom):
3267         (WebCore::V8DOMWindow::showModalDialogCallbackCustom):
3268         (WebCore::V8DOMWindow::openCallbackCustom):
3269         (WebCore::V8DOMWindow::setTimeoutCallbackCustom):
3270         (WebCore::V8DOMWindow::setIntervalCallbackCustom):
3271         * bindings/v8/custom/V8DataViewCustom.cpp:
3272         (WebCore::V8DataView::getInt8CallbackCustom):
3273         (WebCore::V8DataView::getUint8CallbackCustom):
3274         (WebCore::V8DataView::setInt8CallbackCustom):
3275         (WebCore::V8DataView::setUint8CallbackCustom):
3276         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
3277         (WebCore::V8DedicatedWorkerContext::postMessageCallbackCustom):
3278         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
3279         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallbackCustom):
3280         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
3281         (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallbackCustom):
3282         * bindings/v8/custom/V8DocumentCustom.cpp:
3283         (WebCore::V8Document::evaluateCallbackCustom):
3284         (WebCore::V8Document::createTouchListCallbackCustom):
3285         * bindings/v8/custom/V8GeolocationCustom.cpp:
3286         (WebCore::V8Geolocation::getCurrentPositionCallbackCustom):
3287         (WebCore::V8Geolocation::watchPositionCallbackCustom):
3288         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
3289         (WebCore::V8HTMLAllCollection::itemCallbackCustom):
3290         (WebCore::V8HTMLAllCollection::namedItemCallbackCustom):
3291         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3292         (WebCore::V8HTMLCanvasElement::getContextCallbackCustom):
3293         (WebCore::V8HTMLCanvasElement::toDataURLCallbackCustom):
3294         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3295         (WebCore::V8HTMLDocument::writeCallbackCustom):
3296         (WebCore::V8HTMLDocument::writelnCallbackCustom):
3297         (WebCore::V8HTMLDocument::openCallbackCustom):
3298         * bindings/v8/custom/V8HTMLFormControlsCollectionCustom.cpp:
3299         (WebCore::V8HTMLFormControlsCollection::namedItemCallbackCustom):
3300         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3301         (WebCore::v8HTMLImageElementConstructorCallbackCustom):
3302         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
3303         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
3304         (WebCore::V8HTMLInputElement::setSelectionRangeCallbackCustom):
3305         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3306         (WebCore::V8HTMLOptionsCollection::namedItemCallbackCustom):
3307         (WebCore::V8HTMLOptionsCollection::removeCallbackCustom):
3308         (WebCore::V8HTMLOptionsCollection::addCallbackCustom):
3309         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
3310         (WebCore::V8HTMLSelectElement::removeCallbackCustom):
3311         * bindings/v8/custom/V8HistoryCustom.cpp:
3312         (WebCore::V8History::pushStateCallbackCustom):
3313         (WebCore::V8History::replaceStateCallbackCustom):
3314         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3315         (WebCore::V8InjectedScriptHost::inspectedObjectCallbackCustom):
3316         (WebCore::V8InjectedScriptHost::internalConstructorNameCallbackCustom):
3317         (WebCore::V8InjectedScriptHost::isHTMLAllCollectionCallbackCustom):
3318         (WebCore::V8InjectedScriptHost::typeCallbackCustom):
3319         (WebCore::V8InjectedScriptHost::functionDetailsCallbackCustom):
3320         (WebCore::V8InjectedScriptHost::getInternalPropertiesCallbackCustom):
3321         (WebCore::V8InjectedScriptHost::getEventListenersCallbackCustom):
3322         (WebCore::V8InjectedScriptHost::inspectCallbackCustom):
3323         (WebCore::V8InjectedScriptHost::databaseIdCallbackCustom):
3324         (WebCore::V8InjectedScriptHost::storageIdCallbackCustom):
3325         (WebCore::V8InjectedScriptHost::evaluateCallbackCustom):
3326         (WebCore::V8InjectedScriptHost::setFunctionVariableValueCallbackCustom):
3327         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
3328         (WebCore::V8InspectorFrontendHost::platformCallbackCustom):
3329         (WebCore::V8InspectorFrontendHost::portCallbackCustom):
3330         (WebCore::V8InspectorFrontendHost::showContextMenuCallbackCustom):
3331         (WebCore::V8InspectorFrontendHost::recordActionTakenCallbackCustom):
3332         (WebCore::V8InspectorFrontendHost::recordPanelShownCallbackCustom):
3333         (WebCore::V8InspectorFrontendHost::recordSettingChangedCallbackCustom):
3334         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
3335         (WebCore::V8JavaScriptCallFrame::evaluateCallbackCustom):
3336         (WebCore::V8JavaScriptCallFrame::restartCallbackCustom):
3337         (WebCore::V8JavaScriptCallFrame::setVariableValueCallbackCustom):
3338         (WebCore::V8JavaScriptCallFrame::scopeTypeCallbackCustom):
3339         * bindings/v8/custom/V8LocationCustom.cpp:
3340         (WebCore::V8Location::reloadAccessorGetter):
3341         (WebCore::V8Location::replaceAccessorGetter):
3342         (WebCore::V8Location::assignAccessorGetter):
3343         (WebCore::V8Location::reloadCallbackCustom):
3344         (WebCore::V8Location::replaceCallbackCustom):
3345         (WebCore::V8Location::assignCallbackCustom):
3346         (WebCore::V8Location::valueOfCallbackCustom):
3347         (WebCore::V8Location::toStringCallbackCustom):
3348         * bindings/v8/custom/V8MessageEventCustom.cpp:
3349         (WebCore::V8MessageEvent::initMessageEventCallbackCustom):
3350         (WebCore::V8MessageEvent::webkitInitMessageEventCallbackCustom):
3351         * bindings/v8/custom/V8MessagePortCustom.cpp:
3352         (WebCore::V8MessagePort::postMessageCallbackCustom):
3353         * bindings/v8/custom/V8NodeCustom.cpp:
3354         (WebCore::V8Node::insertBeforeCallbackCustom):
3355         (WebCore::V8Node::replaceChildCallbackCustom):
3356         (WebCore::V8Node::removeChildCallbackCustom):
3357         (WebCore::V8Node::appendChildCallbackCustom):
3358         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
3359         (WebCore::V8NotificationCenter::requestPermissionCallbackCustom):
3360         * bindings/v8/custom/V8NotificationCustom.cpp:
3361         (WebCore::V8Notification::requestPermissionCallbackCustom):
3362         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
3363         (WebCore::V8SQLResultSetRowList::itemCallbackCustom):
3364         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
3365         (WebCore::V8SQLTransaction::executeSqlCallbackCustom):
3366         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
3367         (WebCore::V8SQLTransactionSync::executeSqlCallbackCustom):
3368         * bindings/v8/custom/V8SVGLengthCustom.cpp:
3369         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallbackCustom):
3370         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3371         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallbackCustom):
3372         (WebCore::V8WebGLRenderingContext::getBufferParameterCallbackCustom):
3373         (WebCore::V8WebGLRenderingContext::getExtensionCallbackCustom):
3374         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallbackCustom):
3375         (WebCore::V8WebGLRenderingContext::getParameterCallbackCustom):
3376         (WebCore::V8WebGLRenderingContext::getProgramParameterCallbackCustom):
3377         (WebCore::V8WebGLRenderingContext::getRenderbufferParameterCallbackCustom):
3378         (WebCore::V8WebGLRenderingContext::getShaderParameterCallbackCustom):
3379         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallbackCustom):
3380         (WebCore::V8WebGLRenderingContext::getTexParameterCallbackCustom):
3381         (WebCore::V8WebGLRenderingContext::getUniformCallbackCustom):
3382         (WebCore::V8WebGLRenderingContext::getVertexAttribCallbackCustom):
3383         (WebCore::V8WebGLRenderingContext::uniform1fvCallbackCustom):
3384         (WebCore::V8WebGLRenderingContext::uniform1ivCallbackCustom):
3385         (WebCore::V8WebGLRenderingContext::uniform2fvCallbackCustom):
3386         (WebCore::V8WebGLRenderingContext::uniform2ivCallbackCustom):
3387         (WebCore::V8WebGLRenderingContext::uniform3fvCallbackCustom):
3388         (WebCore::V8WebGLRenderingContext::uniform3ivCallbackCustom):
3389         (WebCore::V8WebGLRenderingContext::uniform4fvCallbackCustom):
3390         (WebCore::V8WebGLRenderingContext::uniform4ivCallbackCustom):
3391         (WebCore::V8WebGLRenderingContext::uniformMatrix2fvCallbackCustom):
3392         (WebCore::V8WebGLRenderingContext::uniformMatrix3fvCallbackCustom):
3393         (WebCore::V8WebGLRenderingContext::uniformMatrix4fvCallbackCustom):
3394         (WebCore::V8WebGLRenderingContext::vertexAttrib1fvCallbackCustom):
3395         (WebCore::V8WebGLRenderingContext::vertexAttrib2fvCallbackCustom):
3396         (WebCore::V8WebGLRenderingContext::vertexAttrib3fvCallbackCustom):
3397         (WebCore::V8WebGLRenderingContext::vertexAttrib4fvCallbackCustom):
3398         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3399         (WebCore::V8WorkerContext::importScriptsCallbackCustom):
3400         (WebCore::V8WorkerContext::setTimeoutCallbackCustom):
3401         (WebCore::V8WorkerContext::setIntervalCallbackCustom):
3402         * bindings/v8/custom/V8WorkerCustom.cpp:
3403         (WebCore::V8Worker::postMessageCallbackCustom):
3404         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3405         (WebCore::V8XMLHttpRequest::openCallbackCustom):
3406         (WebCore::V8XMLHttpRequest::sendCallbackCustom):
3407         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
3408         (WebCore::V8XSLTProcessor::setParameterCallbackCustom):
3409         (WebCore::V8XSLTProcessor::getParameterCallbackCustom):
3410         (WebCore::V8XSLTProcessor::removeParameterCallbackCustom):
3411
3412 2013-02-13  Praveen R Jadhav