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