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