047053b48c30142042e7e357cc29cae1582bd4f3
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-02-25  Jer Noble  <jer.noble@apple.com>
2
3         AVFoundation.framework and QTKit.framework are lazy-loaded on every WebProcess launch
4         https://bugs.webkit.org/show_bug.cgi?id=110725
5
6         Reviewed by Eric Carlson.
7
8         When settings are changed, do not re-query the media engines (which causes their respective
9         frameworks to load). Instead, merely clear any previously loaded media engines so that
10         the media engine list will be re-queried the next time installedMediaEngines() is called.
11
12         (WebCore::MediaPlayer::resetMediaEngines): Renamed from requeryMediaEngines.
13         * platform/graphics/MediaPlayer.h:
14         * html/HTMLMediaElement.cpp:
15         (WebCore::HTMLMediaElement::resetMediaEngines): Ditto.
16         * html/HTMLMediaElement.h:
17         * page/Settings.cpp:
18         (WebCore::Settings::setAVFoundationEnabled): Call renamed method.
19         (WebCore::Settings::setQTKitEnabled):  Ditto.
20         * platform/graphics/MediaPlayer.cpp:
21         (WebCore::installedMediaEngines): Only clear out previously queried engines.
22
23 2013-02-25  Martin Robinson  <mrobinson@igalia.com>
24
25         Try to fix the Windows gyp build after r143937
26
27         * WebCore.gypi: Update the filename in the source list.
28
29 2013-02-25  Julien Chaffraix  <jchaffraix@webkit.org>
30
31         [CSS Grid Layout] Refactor RenderStyle's grid position storage in preparation to supporting spanning
32         https://bugs.webkit.org/show_bug.cgi?id=110651
33
34         Reviewed by Ojan Vafai.
35
36         The current code stores grid-{row|column} as a single GridPosition value. While this works well currently,
37         we want to be able to handle 2 GridPosition as this enables row / column spanning.
38
39         That's what this refactoring achieves: it replaces the internal storage by a GridPositions that contains a 
40         single GridPosition for now. The rest is mechanical updates.
41
42         Refactoring covered by existing tests.
43
44         * css/CSSComputedStyleDeclaration.cpp:
45         (WebCore::valueForGridPositions):
46         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
47         Added the simple wrapper valueForGridPositions and updated the rest of the code.
48
49         * css/StyleResolver.cpp:
50         (WebCore::createGridPositions):
51         (WebCore::StyleResolver::applyProperty):
52         Ditto with createGridPositions.
53
54         * rendering/RenderGrid.cpp:
55         (WebCore::RenderGrid::maximumIndexInDirection):
56         (WebCore::RenderGrid::placeItemsOnGrid):
57         (WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
58         (WebCore::RenderGrid::placeAutoMajorAxisItemsOnGrid):
59         (WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
60         (WebCore::RenderGrid::autoPlacementMajorAxisPositionsForChild):
61         (WebCore::RenderGrid::autoPlacementMinorAxisPositionsForChild):
62         Updated the code after adding the indirection: s/GridPosition/GridPositions/ and
63         use the firstPosition helper.
64
65         * rendering/RenderGrid.h:
66         * rendering/style/GridPosition.h:
67         (WebCore::GridPositions::GridPositions):
68         (WebCore::GridPositions::firstPosition):
69         (WebCore::GridPositions::operator==):
70         Added this class to add the indirection. For now, it only wraps the single GridPosition.
71
72         * rendering/style/RenderStyle.h:
73         * rendering/style/StyleGridItemData.h:
74         Updated to store / take / return a GridPositions.
75
76 2013-02-25  Dimitri Glazkov  <dglazkov@chromium.org>
77
78         Revert r143840 because it caused flaky crashes.
79         https://bugs.webkit.org/show_bug.cgi?id=110766
80
81 2013-02-25  Alexey Proskuryakov  <ap@apple.com>
82
83         Remove an obsolete workaround for relaxing 3rd party cookie policy
84         https://bugs.webkit.org/show_bug.cgi?id=110664
85
86         Reviewed by Benjamin Poulain.
87
88         Removed shouldRelaxThirdPartyCookiePolicy(). This workaround is no longer needed,
89         because CFNetwork performs the same check starting with 10.6.8.
90
91         Also, the workaround was not quite correct and harmful for performance, as it
92         was always changing main document URL to an untrue value, which caused ResourceRequest
93         regeneration.
94
95         * platform/network/ResourceHandle.h:
96         * platform/network/cf/ResourceHandleCFNet.cpp:
97         (WebCore::ResourceHandle::createCFURLConnection):
98         (WebCore::ResourceHandle::start):
99         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
100         * platform/network/mac/ResourceHandleMac.mm:
101         (WebCore::ResourceHandle::createNSURLConnection):
102         (WebCore::ResourceHandle::start):
103         (WebCore::ResourceHandle::platformLoadResourceSynchronously):
104
105 2013-02-25  Vsevolod Vlasov  <vsevik@chromium.org>
106
107         WebInspector: Do not keep track of resources unless they have a valid loader identifier.
108         https://bugs.webkit.org/show_bug.cgi?id=110761
109
110         Reviewed by Pavel Feldman.
111
112         * inspector/NetworkResourcesData.cpp:
113         (WebCore::NetworkResourcesData::responseReceived):
114         (WebCore::NetworkResourcesData::setResourceType):
115         (WebCore::NetworkResourcesData::resourceType):
116         (WebCore::NetworkResourcesData::setResourceContent):
117         (WebCore::NetworkResourcesData::maybeAddResourceData):
118         (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
119         (WebCore::NetworkResourcesData::addCachedResource):
120         (WebCore::NetworkResourcesData::addResourceSharedBuffer):
121         (WebCore::NetworkResourcesData::data):
122         (WebCore::NetworkResourcesData::xhrReplayData):
123         (WebCore::NetworkResourcesData::setXHRReplayData):
124         (WebCore::NetworkResourcesData::reuseXHRReplayData):
125         (WebCore::NetworkResourcesData::resourceDataForRequestId):
126         (WebCore::NetworkResourcesData::ensureNoDataForRequestId):
127         (WebCore::NetworkResourcesData::ensureFreeSpace):
128         * inspector/NetworkResourcesData.h:
129         (NetworkResourcesData):
130
131 2013-02-25  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
132
133         [EFL][GTK] Move text selection/focus notification for a11y from gtk to atk directory
134         https://bugs.webkit.org/show_bug.cgi?id=110221
135
136         Reviewed by Martin Robinson.
137
138         Share implementation between efl and gtk.
139         Update build with changes made.
140
141         * GNUmakefile.list.am: Change WebCore/editing/gtk/FrameSelectionGtk.cpp to WebCore/editing/atk/FrameSelectionAtk.cpp to build.
142         * PlatformEfl.cmake: Add WebCore/editing/atk to include directories, add Webcore/editing/atk/FrameSelectionAtk.cpp to build.
143         * editing/FrameSelection.h: Omit notifyAccessibilityForSelectionChange() stub for EFL port.
144         (WebCore):
145         * editing/atk/FrameSelectionAtk.cpp: Renamed from Source/WebCore/editing/gtk/FrameSelectionGtk.cpp.
146         (WebCore):
147         (WebCore::emitTextSelectionChange):
148         (WebCore::maybeEmitTextFocusChange):
149         (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
150
151 2013-02-25  Alpha Lam  <hclam@chromium.org>
152
153         GIFImageReader to read from source data directly
154         https://bugs.webkit.org/show_bug.cgi?id=109662
155
156         Reviewed by Stephen White.
157
158         This is the first patch to improve GIF image decoding.
159
160         GIFImageReader has an internal 256 bytes buffer to saving incoming
161         bytes. This mechanism is out-dated because WebKit holds the entire
162         file in memory and it is not necessary to hold data in an intermediate
163         buffer.
164
165         This is also a blocker for later work to parse and decode GIF
166         incrementally.
167
168         This change removed the imtermediate 'hold' buffer and uses an index
169         for data position to keep track of parsing of the GIF file. Buffer for
170         global colormap and local colormap are also removed because they can be
171         referenced from the data stream.
172
173         This change is tested by:
174
175         Layout tests
176         All tests passed under fast/images.
177
178         Unit tests
179         Added GIFImageDecoderTest for Chromium.
180
181         Local testing
182         I tested this implementation against a set of 50k GIF images and
183         there's no crashes and produces bit-exact results as previous code.
184
185         * platform/image-decoders/gif/GIFImageDecoder.cpp:
186         (WebCore::GIFImageDecoder::setData):
187         (WebCore::GIFImageDecoder::frameCount):
188         (WebCore::GIFImageDecoder::haveDecodedRow):
189         (WebCore::GIFImageDecoder::decode):
190         * platform/image-decoders/gif/GIFImageReader.cpp:
191         (GIFImageReader::doLZW):
192         (GIFImageReader::decode):
193         (GIFImageReader::decodeInternal):
194         (GIFImageReader::setRemainingBytes):
195         * platform/image-decoders/gif/GIFImageReader.h:
196         (GIFFrameContext):
197         (GIFFrameContext::GIFFrameContext):
198         (GIFFrameContext::~GIFFrameContext):
199         (GIFImageReader::GIFImageReader):
200         (GIFImageReader::~GIFImageReader):
201         (GIFImageReader::setData):
202         (GIFImageReader):
203         (GIFImageReader::globalColormap):
204         (GIFImageReader::localColormap):
205         (GIFImageReader::localColormapSize):
206         (GIFImageReader::data):
207         (GIFImageReader::colormap):
208
209 2013-02-25  Sergio Villar Senin  <svillar@igalia.com>
210
211         [soup] "Too many redirects" error loading chat in plus.google.com
212         https://bugs.webkit.org/show_bug.cgi?id=64575
213
214         Reviewed by Martin Robinson.
215
216         Set the firstPartyForCookies for the new request on redirects to
217         the URL used for redirection.
218
219         Test: http/tests/cookies/set-cookie-on-redirect.html
220
221         * platform/network/soup/ResourceHandleSoup.cpp:
222         (WebCore::doRedirect):
223
224 2013-02-25  Andreas Kling  <akling@apple.com>
225
226         Reduce amount of code that includes StylePropertySet.h
227         <http://webkit.org/b/101149>
228
229         Reviewed by Antti Koivisto.
230
231         StylePropertySet.h and dependents were getting included by the majority of WebKit
232         through either StyledElement.h or CSSStyleDeclaration.h. This change removes those includes
233         and moves inclusion to .cpp files instead. After this change, it's possible to hack most
234         of WebCore/css/ and rebuild <100 files instead of >1000.
235
236         The only real code change in here is changing CSSStyleDeclaration::cssPropertyMatches()
237         to take a CSSPropertyID/CSSValue* combo instead of a StylePropertySet::Reference.
238
239         * css/CSSComputedStyleDeclaration.cpp:
240         (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
241         * css/CSSComputedStyleDeclaration.h:
242         (CSSComputedStyleDeclaration):
243         * css/CSSStyleDeclaration.h:
244         (CSSStyleDeclaration):
245         * css/PropertySetCSSStyleDeclaration.cpp:
246         (WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
247         * css/PropertySetCSSStyleDeclaration.h:
248         * css/SelectorChecker.h:
249         * css/SelectorCheckerFastPath.cpp:
250         * css/SelectorFilter.cpp:
251         * css/SelectorFilter.h:
252         * css/StylePropertySet.cpp:
253         (WebCore::StylePropertySet::propertyMatches):
254         (WebCore::StylePropertySet::removeEquivalentProperties):
255         * css/StylePropertySet.h:
256         * css/StyleResolver.cpp:
257         (WebCore::StyleResolver::MatchedProperties::MatchedProperties):
258         (WebCore::StyleResolver::MatchedProperties::~MatchedProperties):
259         * css/StyleResolver.h:
260         (MatchedProperties):
261         * css/StyleRule.cpp:
262         * css/ViewportStyleResolver.cpp:
263         (WebCore::ViewportStyleResolver::~ViewportStyleResolver):
264         * css/ViewportStyleResolver.h:
265         (ViewportStyleResolver):
266         * css/WebKitCSSKeyframeRule.cpp:
267         (WebCore::StyleKeyframe::StyleKeyframe):
268         (WebCore::StyleKeyframe::~StyleKeyframe):
269         * css/WebKitCSSKeyframeRule.h:
270         (StyleKeyframe):
271         * dom/Attr.cpp:
272         * dom/Document.cpp:
273         * dom/Element.cpp:
274         * dom/StyledElement.cpp:
275         (WebCore::StyledElement::addPropertyToPresentationAttributeStyle):
276         * dom/StyledElement.h:
277         (StyledElement):
278         * editing/FrameSelection.cpp:
279         * editing/RemoveCSSPropertyCommand.cpp:
280         (WebCore::RemoveCSSPropertyCommand::~RemoveCSSPropertyCommand):
281         * editing/RemoveCSSPropertyCommand.h:
282         (RemoveCSSPropertyCommand):
283         * editing/RemoveFormatCommand.cpp:
284         * html/HTMLBodyElement.cpp:
285         * html/HTMLElement.cpp:
286         (WebCore::HTMLElement::addHTMLLengthToStyle):
287         (WebCore::HTMLElement::addHTMLColorToStyle):
288         * html/HTMLElement.h:
289         (HTMLElement):
290         * html/HTMLFontElement.cpp:
291         * html/HTMLHRElement.cpp:
292         * html/HTMLPreElement.cpp:
293         * html/HTMLTableElement.cpp:
294         * html/HTMLTablePartElement.cpp:
295         * html/canvas/CanvasStyle.cpp:
296         * html/shadow/MediaControlElementTypes.cpp:
297         * inspector/InspectorStyleSheet.cpp:
298         * page/PageSerializer.cpp:
299         * rendering/RenderTableCell.cpp:
300         * svg/SVGAnimateElement.cpp:
301         * svg/SVGElementRareData.h:
302         * svg/SVGFontFaceElement.cpp:
303
304 2013-02-25  Alexei Filippov  <alph@chromium.org>
305
306         Web Inspector: Remove CPU profile from a group causes exception
307         https://bugs.webkit.org/show_bug.cgi?id=110466
308
309         Reviewed by Yury Semikhatsky.
310
311         WebInspector.ProfilesPanel._removeProfileHandle did not handle
312         profile removal from a group. The fix takes care of this case.
313
314         Test: inspector/profiler/cpu-profiler-profile-removal.html
315
316         * inspector/front-end/ProfilesPanel.js:
317         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
318         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
319
320 2013-02-23  Ilya Tikhonovsky  <loislo@chromium.org>
321
322         Web Inspector: Native Memory Instrumentation: replace String with const char* in MemoryObjectInfo
323         https://bugs.webkit.org/show_bug.cgi?id=110599
324
325         Reviewed by Yury Semikhatsky.
326
327         Due to potentially dynamic nature of names and classNames we need to make a copy of the strings
328         that were given us via MemoryInstrumentation calls.
329         So I extended client api with registerString method that pushes the strings
330         down to the serializer.
331
332         * css/InspectorCSSOMWrappers.h:
333         * inspector/HeapGraphSerializer.cpp:
334         (WebCore::HeapGraphSerializer::HeapGraphSerializer):
335         (WebCore::HeapGraphSerializer::reportNodeImpl):
336         (WebCore::HeapGraphSerializer::reportEdgeImpl):
337         (WebCore::HeapGraphSerializer::registerString):
338         (WebCore::HeapGraphSerializer::registerTypeString):
339         (WebCore::HeapGraphSerializer::addRootNode):
340         * inspector/HeapGraphSerializer.h:
341         (HeapGraphSerializer):
342         * inspector/MemoryInstrumentationImpl.cpp:
343         (WebCore::MemoryInstrumentationClientImpl::registerString):
344         (WebCore):
345         * inspector/MemoryInstrumentationImpl.h:
346         (MemoryInstrumentationClientImpl):
347         * loader/cache/CachedResource.cpp:
348         (WebCore::CachedResource::reportMemoryUsage):
349
350 2013-02-25  Keishi Hattori  <keishi@webkit.org>
351
352         Add a scrollbar class for the new calendar picker
353         https://bugs.webkit.org/show_bug.cgi?id=110589
354
355         Reviewed by Kent Tamura.
356
357         Adding a scrollbar to be used in the new calendar picker (Bug 109439).
358
359         No new tests. Code is not used yet.
360
361         * Resources/pagepopups/calendarPicker.js:
362         (ScrubbyScrollBar):
363         (ScrubbyScrollBar.prototype.height):
364         (ScrubbyScrollBar.prototype.setHeight):
365         (ScrubbyScrollBar.prototype.setThumbHeight): Sets the height of the scroll bar thumb.
366         (ScrubbyScrollBar.prototype._setThumbPositionFromEvent): Sets the thumb position from a mouse event.
367         (ScrubbyScrollBar.prototype.onMouseDown):
368         (ScrubbyScrollBar.prototype.onWindowMouseMove):
369         (ScrubbyScrollBar.prototype.onWindowMouseUp):
370         (ScrubbyScrollBar.prototype.onThumbStyleTopAnimationStep): Animates the thumb back to the center position.
371         (ScrubbyScrollBar.prototype.onScrollTimer): Fires repeatedly while the thumb is being dragged.
372
373 2013-02-25  Ilya Tikhonovsky  <loislo@chromium.org>
374
375         Unreviewed. Fix of closure type annotations.
376
377         * inspector/front-end/UISourceCode.js:
378         * inspector/front-end/utilities.js:
379
380 2013-02-25  Eugene Klyuchnikov  <eustas@chromium.org>
381
382         Web Inspector: [Network] Timeline bars and dividers are positioned in different coordinate systems.
383         https://bugs.webkit.org/show_bug.cgi?id=109943
384
385         Reviewed by Pavel Feldman.
386
387         Look at network log: red bar (on load) is positioned to the right of
388         the last required load.
389         
390         This is incorrect. For exmaple, in case of short event it should be
391         positioned in the center of the bar.
392
393         * inspector/front-end/DataGrid.js:
394         Fix - hidden columns can have non-zero width.
395         * inspector/front-end/NetworkPanel.js: Use correct width for calculator.
396         * inspector/front-end/networkLogView.css: Removed parasite paddinds.
397         Extracted common absolute "paddings".
398
399 2013-02-25  Keishi Hattori  <keishi@webkit.org>
400
401         Add list view for new calendar picker
402         https://bugs.webkit.org/show_bug.cgi?id=110140
403
404         Reviewed by Kent Tamura.
405
406         Adding list view class to be used in the new calendar picker (Bug 109439).
407
408         No new tests. Code is not yet used.
409
410         * Resources/pagepopups/calendarPicker.js:
411         (ListCell): One row inside the list view. We reuse
412         list cells to avoid animation hiccups caused by memory allocation.
413         (ListCell.prototype._recycleBin): Returns array to
414         store thrown away list cells so we can reuse them.
415         (ListCell.prototype.throwAway): Hides the cell and puts it in the recycle bin.
416         (ListCell.prototype.show):
417         (ListCell.prototype.hide): Hide the cell when we don't need the cell any more.
418         (ListCell.prototype.width):
419         (ListCell.prototype.setWidth):
420         (ListCell.prototype.position):
421         (ListCell.prototype.setPosition): Sets the CSS transform to position the cell.
422         (ListCell.prototype.setSelected): Adds selected CSS class.
423         (ListView): Shows a scrolling list.
424         (ListView.prototype.onAnimationFrameWillFinish): Calls updateCells if the cells need to be updated.
425         (ListView.prototype.setNeedsUpdateCells): Mark the cells as need to be updated.
426         (ListView.prototype.cellAtRow): Returns the cell at a given row. If the cell is not visible and doesn't exist, returns undefined.
427         (ListView.prototype.rowAtScrollOffset): The row that is displayed at the given scroll offset.
428         (ListView.prototype.scrollOffsetForRow): The scroll offset for the top of a given row.
429         (ListView.prototype.addCellIfNecessary): Adds the cell for a given row.
430         (ListView.prototype.prepareNewCell): Prepares a new or recycled cell for a given row.
431         (ListView.prototype.throwAwayCell): Throws a way a cell.
432         (ListView.prototype.firstVisibleRow): The first visible row at the top of the view.
433         (ListView.prototype.lastVisibleRow): The last visible row at the bottom of the view.
434         (ListView.prototype.scrollViewDidChangeContentOffset):
435         (ListView.prototype.scrollViewDidChangeHeight):
436         (ListView.prototype.scrollViewDidChangePartition):
437         (ListView.prototype.updateCells): Updates all the cells that are visible.
438         (ListView.prototype.width):
439         (ListView.prototype.setWidth):
440         (ListView.prototype.height):
441         (ListView.prototype.setHeight):
442         (ListView.prototype.onClick): Clicking on a row selects it.
443         (ListView.prototype.select):
444         (ListView.prototype.deselect):
445         (ListView.prototype.scrollToRow): Scrolls to a given row.
446
447 2013-02-25  Alexei Filippov  <alph@chromium.org>
448
449         Web Inspector: move profile type specific code out of ProfilesPanel (refactor)
450         https://bugs.webkit.org/show_bug.cgi?id=110597
451
452         Reviewed by Yury Semikhatsky.
453
454         Move profile type specific functionality out of ProfilesPanel class.
455         This is a first part of WebInspector.ProfilesPanel refactoring.
456
457         No new tests as the functionality isn't changed.
458
459         * English.lproj/localizedStrings.js:
460         * inspector/front-end/CPUProfileView.js:
461         (WebInspector.CPUProfileType):
462         (WebInspector.CPUProfileType.prototype.addProfileHeader):
463         (WebInspector.CPUProfileType.prototype.removeProfile):
464         (WebInspector.CPUProfileType.prototype._requestProfilesFromBackend):
465         (WebInspector.CPUProfileType.prototype.resetProfiles):
466         (WebInspector.CPUProfileType.prototype.addHeapSnapshotChunk):
467         (WebInspector.CPUProfileType.prototype.finishHeapSnapshot):
468         (WebInspector.CPUProfileType.prototype.reportHeapSnapshotProgress):
469         * inspector/front-end/CSSSelectorProfileView.js:
470         (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
471         (WebInspector.CSSSelectorProfileType.prototype._startRecordingProfile):
472         (WebInspector.CSSSelectorProfileType.prototype._stopRecordingProfile):
473         * inspector/front-end/CanvasProfileView.js:
474         (WebInspector.CanvasProfileType.prototype.buttonClicked):
475         (WebInspector.CanvasProfileType.prototype._runSingleFrameCapturing):
476         (WebInspector.CanvasProfileType.prototype._startFrameCapturing):
477         (WebInspector.CanvasProfileType.prototype._didStartCapturingFrame):
478         (WebInspector.CanvasProfileType.prototype._reset):
479         (WebInspector.CanvasProfileType.prototype.removeProfile):
480         (WebInspector.CanvasProfileHeader.prototype.dispose):
481         * inspector/front-end/HeapSnapshotView.js:
482         (WebInspector.HeapSnapshotView.prototype._profiles):
483         (WebInspector.HeapSnapshotProfileType):
484         (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
485         (WebInspector.HeapSnapshotProfileType.prototype.addProfileHeader):
486         (WebInspector.HeapSnapshotProfileType.prototype.addHeapSnapshotChunk):
487         (WebInspector.HeapSnapshotProfileType.prototype.finishHeapSnapshot):
488         (WebInspector.HeapSnapshotProfileType.prototype.reportHeapSnapshotProgress):
489         (WebInspector.HeapSnapshotProfileType.prototype.resetProfiles):
490         (WebInspector.HeapSnapshotProfileType.prototype.removeProfile):
491         (WebInspector.HeapSnapshotProfileType.prototype._requestProfilesFromBackend):
492         (WebInspector.HeapProfileHeader.prototype._updateTransferProgress):
493         * inspector/front-end/NativeMemorySnapshotView.js:
494         (WebInspector.NativeSnapshotProfileType):
495         (WebInspector.NativeSnapshotProfileType.prototype.addNativeSnapshotChunk):
496         * inspector/front-end/ProfilesPanel.js:
497         (WebInspector.ProfileType):
498         (WebInspector.ProfileType.prototype.buttonClicked):
499         (WebInspector.ProfileType.prototype.get description):
500         (WebInspector.ProfileType.prototype.getProfiles):
501         (WebInspector.ProfileType.prototype.getProfile):
502         (WebInspector.ProfileType.prototype._makeKey):
503         (WebInspector.ProfileType.prototype.addProfile):
504         (WebInspector.ProfileType.prototype.removeProfile):
505         (WebInspector.ProfileType.prototype.findTemporaryProfile):
506         (WebInspector.ProfileType.prototype._reset):
507         (WebInspector.ProfileType.prototype._requestProfilesFromBackend):
508         (WebInspector.ProfileHeader):
509         (WebInspector.ProfileHeader.prototype.dispose):
510         (WebInspector.ProfilesPanel):
511         (WebInspector.ProfilesPanel.prototype._loadFromFile):
512         (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
513         (WebInspector.ProfilesPanel.prototype._populateAllProfiles):
514         (WebInspector.ProfilesPanel.prototype.wasShown):
515         (WebInspector.ProfilesPanel.prototype._profilerWasEnabled):
516         (WebInspector.ProfilesPanel.prototype._reset):
517         (WebInspector.ProfilesPanel.prototype._registerProfileType.onAddProfileHeader):
518         (WebInspector.ProfilesPanel.prototype._registerProfileType.onRemoveProfileHeader):
519         (WebInspector.ProfilesPanel.prototype._registerProfileType.onProgressUpdated):
520         (WebInspector.ProfilesPanel.prototype._registerProfileType):
521         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
522         (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
523         (WebInspector.ProfilesPanel.prototype._createTemporaryProfile):
524         (WebInspector.ProfilesPanel.prototype._removeTemporaryProfile):
525         (WebInspector.ProfilesPanel.prototype.getProfile):
526         (WebInspector.ProfilesPanel.prototype.showProfile):
527         (WebInspector.ProfilesPanel.prototype._getAllProfiles):
528         (WebInspector.ProfilesPanel.prototype._searchableViews):
529         (WebInspector.ProfilesPanel.prototype.searchCanceled):
530         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
531         (WebInspector.ProfilesPanel.prototype._reportProfileProgress):
532
533 2013-02-25  Ilya Tikhonovsky  <loislo@chromium.org>
534
535         Unreviewed fix of type annotation for this._liveLocations.
536
537         * inspector/front-end/UISourceCode.js:
538         (WebInspector.UISourceCode):
539
540 2013-02-25  Kent Tamura  <tkent@chromium.org>
541
542         Fix style errors in WebCore/editing/{htmlediting,markup,visible_units}.*
543         https://bugs.webkit.org/show_bug.cgi?id=110721
544
545         Reviewed by Ryosuke Niwa.
546
547         No new tests. This should not make any bahevior changes.
548
549         * editing/htmlediting.cpp:
550         (WebCore::lowestEditableAncestor):
551         (WebCore):
552         (WebCore::isSpecialElement):
553         (WebCore::enclosingListChild):
554         (WebCore::canMergeLists):
555         (WebCore::tabSpanNode):
556         (WebCore::isNodeRendered):
557         (WebCore::caretMaxOffset):
558         * editing/htmlediting.h:
559         (WebCore):
560         * editing/markup.cpp:
561         (WebCore::StyledMarkupAccumulator::appendElement):
562         * editing/markup.h:
563         (WebCore):
564         * editing/visible_units.cpp:
565         (WebCore::previousRootInlineBoxCandidatePosition):
566         (WebCore::nextRootInlineBoxCandidatePosition):
567         (WebCore::wordBreakIteratorForMinOffsetBoundary):
568         (WebCore::previousBoundary):
569         (WebCore::endOfLine):
570         (WebCore::previousLinePosition):
571         (WebCore::nextLinePosition):
572         (WebCore::nextSentencePositionBoundary):
573         (WebCore::startOfParagraph):
574         (WebCore::endOfParagraph):
575
576 2013-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
577
578         Web Inspector: Improve speed of Linkifier.reset operation.
579         https://bugs.webkit.org/show_bug.cgi?id=110696
580
581         Reviewed by Yury Semikhatsky.
582
583         Linkifier calls Location.dispose N times and each dispose method calls Array.remove
584         which scans entire array and does splice. So the complexity of Linkifier.reset
585         is O(N^2). I replaced the arrays with Set and got O(N) complexity.
586
587         Drive by fix: The identifier generator was slightly changed.
588         Now it produces identifiers that couldn't be converted into a number.
589         So the engine will never convert Set/Map object into an array.
590
591         * inspector/front-end/Script.js:
592         (WebInspector.Script):
593         (WebInspector.Script.prototype.updateLocations):
594         (WebInspector.Script.prototype.createLiveLocation):
595         * inspector/front-end/UISourceCode.js:
596         (WebInspector.UISourceCode):
597         (WebInspector.UISourceCode.prototype.addLiveLocation):
598         (WebInspector.UISourceCode.prototype.updateLiveLocations):
599         * inspector/front-end/utilities.js:
600
601 2013-02-24  Sheriff Bot  <webkit.review.bot@gmail.com>
602
603         Unreviewed, rolling out r143797.
604         http://trac.webkit.org/changeset/143797
605         https://bugs.webkit.org/show_bug.cgi?id=110724
606
607         Causes assertion failures in multiple tests. (Requested by
608         vsevik on #webkit).
609
610         * dom/DocumentParser.h:
611         (DocumentParser):
612         * html/parser/HTMLDocumentParser.cpp:
613         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
614         * html/parser/HTMLDocumentParser.h:
615         (HTMLDocumentParser):
616         (WebCore::HTMLDocumentParser::shouldUseThreading):
617         * loader/DocumentWriter.cpp:
618         (WebCore::DocumentWriter::replaceDocument):
619
620 2013-02-24  Hajime Morrita  <morrita@google.com>
621
622         Rollout r143556, it regressed html5-full-render perf.
623         https://bugs.webkit.org/show_bug.cgi?id=110719
624
625         Unreviewed rollout.
626         
627         * css/BasicShapeFunctions.cpp:
628         (WebCore::convertToLength):
629         (WebCore::basicShapeForValue):
630         * css/BasicShapeFunctions.h:
631         (WebCore):
632         * css/CSSGradientValue.cpp:
633         (WebCore::CSSGradientValue::gradientWithStylesResolved):
634         * css/CSSGradientValue.h:
635         (CSSGradientValue):
636         * css/CSSToStyleMap.cpp:
637         (WebCore::CSSToStyleMap::style):
638         (WebCore::CSSToStyleMap::rootElementStyle):
639         (WebCore::CSSToStyleMap::useSVGZoomRules):
640         (WebCore::CSSToStyleMap::styleImage):
641         * css/CSSToStyleMap.h:
642         (WebCore):
643         (WebCore::CSSToStyleMap::CSSToStyleMap):
644         (CSSToStyleMap):
645         * css/SVGCSSStyleSelector.cpp:
646         (WebCore::StyleResolver::applySVGProperty):
647         * css/StyleBuilder.cpp:
648         (WebCore::ApplyPropertyExpanding::applyInheritValue):
649         (WebCore::ApplyPropertyExpanding::applyInitialValue):
650         (WebCore::ApplyPropertyExpanding::applyValue):
651         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
652         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
653         (WebCore::ApplyPropertyDefaultBase::applyValue):
654         (WebCore::ApplyPropertyDefault::applyValue):
655         (WebCore::ApplyPropertyNumber::applyValue):
656         (WebCore::ApplyPropertyStyleImage::applyValue):
657         (WebCore::ApplyPropertyAuto::applyInheritValue):
658         (WebCore::ApplyPropertyAuto::applyInitialValue):
659         (WebCore::ApplyPropertyAuto::applyValue):
660         (WebCore::ApplyPropertyClip::convertToLength):
661         (WebCore::ApplyPropertyClip::applyInheritValue):
662         (WebCore::ApplyPropertyClip::applyInitialValue):
663         (WebCore::ApplyPropertyClip::applyValue):
664         (WebCore::ApplyPropertyColor::applyInheritValue):
665         (WebCore::ApplyPropertyColor::applyInitialValue):
666         (WebCore::ApplyPropertyColor::applyValue):
667         (WebCore::ApplyPropertyColor::applyColorValue):
668         (WebCore::ApplyPropertyDirection::applyValue):
669         (WebCore::ApplyPropertyLength::applyValue):
670         (WebCore::ApplyPropertyString::applyValue):
671         (WebCore::ApplyPropertyBorderRadius::applyValue):
672         (WebCore::ApplyPropertyFillLayer::applyInheritValue):
673         (WebCore::ApplyPropertyFillLayer::applyInitialValue):
674         (WebCore::ApplyPropertyFillLayer::applyValue):
675         (WebCore::ApplyPropertyComputeLength::applyValue):
676         (WebCore::ApplyPropertyFont::applyInheritValue):
677         (WebCore::ApplyPropertyFont::applyInitialValue):
678         (WebCore::ApplyPropertyFont::applyValue):
679         (WebCore::ApplyPropertyFontSize::applyInheritValue):
680         (WebCore::ApplyPropertyFontSize::applyInitialValue):
681         (WebCore::ApplyPropertyFontSize::applyValue):
682         (WebCore::ApplyPropertyFontWeight::applyValue):
683         (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
684         (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
685         (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
686         (WebCore::ApplyPropertyBorderImage::applyValue):
687         (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
688         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
689         (WebCore::ApplyPropertyBorderImageModifier::applyValue):
690         (WebCore::ApplyPropertyBorderImageSource::applyValue):
691         (WebCore::ApplyPropertyCounter::emptyFunction):
692         (WebCore::ApplyPropertyCounter::applyInheritValue):
693         (WebCore::ApplyPropertyCounter::applyValue):
694         (WebCore::ApplyPropertyCursor::applyInheritValue):
695         (WebCore::ApplyPropertyCursor::applyInitialValue):
696         (WebCore::ApplyPropertyCursor::applyValue):
697         (WebCore::ApplyPropertyTextAlign::applyValue):
698         (WebCore::ApplyPropertyTextDecoration::applyValue):
699         (WebCore::ApplyPropertyLineHeight::applyValue):
700         (WebCore::ApplyPropertyPageSize::applyInheritValue):
701         (WebCore::ApplyPropertyPageSize::applyInitialValue):
702         (WebCore::ApplyPropertyPageSize::applyValue):
703         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
704         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
705         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
706         (WebCore::ApplyPropertyAnimation::map):
707         (WebCore::ApplyPropertyAnimation::applyInheritValue):
708         (WebCore::ApplyPropertyAnimation::applyInitialValue):
709         (WebCore::ApplyPropertyAnimation::applyValue):
710         (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
711         (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
712         (WebCore::ApplyPropertyOutlineStyle::applyValue):
713         (WebCore::ApplyPropertyResize::applyValue):
714         (WebCore::ApplyPropertyVerticalAlign::applyValue):
715         (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
716         (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
717         (WebCore::ApplyPropertyAspectRatio::applyValue):
718         (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
719         (WebCore::ApplyPropertyZoom::applyInheritValue):
720         (WebCore::ApplyPropertyZoom::applyInitialValue):
721         (WebCore::ApplyPropertyZoom::applyValue):
722         (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
723         (WebCore::ApplyPropertyDisplay::applyInheritValue):
724         (WebCore::ApplyPropertyDisplay::applyInitialValue):
725         (WebCore::ApplyPropertyDisplay::applyValue):
726         (WebCore::ApplyPropertyClipPath::applyValue):
727         (WebCore::ApplyPropertyExclusionShape::applyValue):
728         (WebCore::ApplyPropertyImageResolution::applyInheritValue):
729         (WebCore::ApplyPropertyImageResolution::applyInitialValue):
730         (WebCore::ApplyPropertyImageResolution::applyValue):
731         * css/StyleBuilder.h:
732         (WebCore):
733         (PropertyHandler):
734         (WebCore::PropertyHandler::applyInheritValue):
735         (WebCore::PropertyHandler::applyInitialValue):
736         (WebCore::PropertyHandler::applyValue):
737         * css/StyleResolver.cpp:
738         (WebCore):
739         (WebCore::StyleResolver::StyleResolver):
740         (WebCore::StyleResolver::collectMatchingRules):
741         (WebCore::StyleResolver::collectMatchingRulesForRegion):
742         (WebCore::StyleResolver::sortAndTransferMatchedRules):
743         (WebCore::StyleResolver::matchScopedAuthorRules):
744         (WebCore::StyleResolver::styleSharingCandidateMatchesHostRules):
745         (WebCore::StyleResolver::matchHostRules):
746         (WebCore::StyleResolver::matchAuthorRules):
747         (WebCore::StyleResolver::matchUserRules):
748         (WebCore::StyleResolver::matchUARules):
749         (WebCore::StyleResolver::collectMatchingRulesForList):
750         (WebCore::StyleResolver::sortMatchedRules):
751         (WebCore::StyleResolver::matchAllRules):
752         (WebCore::StyleResolver::initElement):
753         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
754         (WebCore::StyleResolver::canShareStyleWithControl):
755         (WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
756         (WebCore::StyleResolver::canShareStyleWithElement):
757         (WebCore::StyleResolver::findSiblingForStyleSharing):
758         (WebCore::StyleResolver::locateSharedStyle):
759         (WebCore::StyleResolver::styleForElement):
760         (WebCore::StyleResolver::styleForKeyframe):
761         (WebCore::StyleResolver::keyframeStylesForAnimation):
762         (WebCore::StyleResolver::pseudoStyleForElement):
763         (WebCore::StyleResolver::styleForPage):
764         (WebCore::StyleResolver::defaultStyleForElement):
765         (WebCore::StyleResolver::adjustRenderStyle):
766         (WebCore::StyleResolver::updateFont):
767         (WebCore::StyleResolver::pseudoStyleRulesForElement):
768         (WebCore::StyleResolver::ruleMatches):
769         (WebCore::StyleResolver::checkRegionSelector):
770         (WebCore::StyleResolver::applyProperties):
771         (WebCore::StyleResolver::applyMatchedProperties):
772         (WebCore::StyleResolver::isLeftPage):
773         (WebCore::StyleResolver::applyPropertyToStyle):
774         (WebCore::StyleResolver::applyPropertyToCurrentStyle):
775         (WebCore::StyleResolver::useSVGZoomRules):
776         (WebCore::StyleResolver::resolveVariables):
777         (WebCore::StyleResolver::applyProperty):
778         (WebCore::StyleResolver::styleImage):
779         (WebCore::StyleResolver::cachedOrPendingFromValue):
780         (WebCore::StyleResolver::generatedOrPendingFromValue):
781         (WebCore::StyleResolver::setOrPendingFromValue):
782         (WebCore::StyleResolver::cursorOrPendingFromValue):
783         (WebCore::StyleResolver::checkForTextSizeAdjust):
784         (WebCore::StyleResolver::checkForZoomChange):
785         (WebCore::StyleResolver::checkForGenericFamilyChange):
786         (WebCore::StyleResolver::initializeFontStyle):
787         (WebCore::StyleResolver::setFontSize):
788         (WebCore::StyleResolver::colorFromPrimitiveValue):
789         (WebCore::StyleResolver::loadPendingSVGDocuments):
790         (WebCore::StyleResolver::styleShader):
791         (WebCore::StyleResolver::cachedOrPendingStyleShaderFromValue):
792         (WebCore::StyleResolver::loadPendingShaders):
793         (WebCore::StyleResolver::parseCustomFilterTransformParameter):
794         (WebCore::StyleResolver::parseCustomFilterParameter):
795         (WebCore::StyleResolver::parseCustomFilterParameterList):
796         (WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
797         (WebCore::StyleResolver::createCustomFilterOperation):
798         (WebCore::StyleResolver::createFilterOperations):
799         (WebCore::StyleResolver::loadPendingImage):
800         (WebCore::StyleResolver::loadPendingImages):
801         (WebCore::StyleResolver::loadPendingResources):
802         (WebCore::StyleResolver::reportMemoryUsage):
803         * css/StyleResolver.h:
804         (WebCore::StyleResolver::style):
805         (WebCore::StyleResolver::parentStyle):
806         (WebCore::StyleResolver::rootElementStyle):
807         (WebCore::StyleResolver::element):
808         (WebCore::StyleResolver::hasParentNode):
809         (StyleResolver):
810         (WebCore::StyleResolver::isRightPage):
811         (WebCore::StyleResolver::State::State):
812         (WebCore::StyleResolver::State::document):
813         (State):
814         (WebCore::StyleResolver::applyPropertyToRegularStyle):
815         (WebCore::StyleResolver::applyPropertyToVisitedLinkStyle):
816         (WebCore::StyleResolver::styleMap):
817         (WebCore::StyleResolver::fontDescription):
818         (WebCore::StyleResolver::parentFontDescription):
819         (WebCore::StyleResolver::setFontDescription):
820         (WebCore::StyleResolver::setZoom):
821         (WebCore::StyleResolver::setEffectiveZoom):
822         (WebCore::StyleResolver::setTextSizeAdjust):
823         (WebCore::StyleResolver::setWritingMode):
824         (WebCore::StyleResolver::setTextOrientation):
825         * html/canvas/CanvasRenderingContext2D.cpp:
826         (WebCore::CanvasRenderingContext2D::setFont):
827
828 2013-02-24  Eric Carlson  <eric.carlson@apple.com>
829
830         [Mac] cleanup MediaPlayerPrivateAVFoundation and InbandTextTrackPrivateAVF
831         https://bugs.webkit.org/show_bug.cgi?id=110716
832
833         Reviewed by Alexey Proskuryakov.
834
835         No new tests, no functionality changed.
836
837         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
838         (WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF): Take AVFInbandTrackParent*
839             instead of MediaPlayerPrivateAVFoundation*.
840         (WebCore::InbandTextTrackPrivateAVF::processCue): Pass new cues directly to the client.
841         (WebCore::InbandTextTrackPrivateAVF::disconnect): m_player -> m_owner.
842         (WebCore::InbandTextTrackPrivateAVF::setMode):  m_player -> m_owner.
843         * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
844
845         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
846         (WebCore::MediaPlayerPrivateAVFoundation::addGenericCue): Delete, no longer needed.
847         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
848
849         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: Don't include 
850             CachedResourceClient.h, it isn't needed.
851
852 2013-02-24  Kihong Kwon  <kihong.kwon@samsung.com>
853
854         Add an ASSERT to didChangeDeviceProximity
855         https://bugs.webkit.org/show_bug.cgi?id=110317
856
857         Reviewed by Hajime Morrita.
858
859         Add An ASSERT to didChangeDeviceProximity function to check range of value.
860
861         Change exist test cases.
862
863         * Modules/proximity/DeviceProximityController.cpp:
864         (WebCore::DeviceProximityController::didChangeDeviceProximity):
865
866 2013-02-24  Alexey Proskuryakov  <ap@apple.com>
867
868         Clarify meaning of default default encoding localizable string
869         https://bugs.webkit.org/show_bug.cgi?id=110714
870
871         Reviewed by Eric Carlson.
872
873         * English.lproj/Localizable.strings: This string is only used on Windows, and it's
874         very confusing to everyone involved.
875
876 2013-02-24  Mike West  <mkwst@chromium.org>
877
878         CSP 1.1: Experiment with 'reflected-xss' directive.
879         https://bugs.webkit.org/show_bug.cgi?id=104479
880
881         Reviewed by Adam Barth.
882
883         Content Security Policy 1.1 defines a 'reflected-xss' directive that
884         works in much the same way as WebKit's current 'X-XSS-Protection'
885         header[1]. This patch implements the new directive by parsing it
886         inside ContentSecurityPolicy, and exposing that state to XSSAuditor.
887
888         XSSAuditor now grabs the CSP directive's state, and mixes it with the
889         X-XSS-Protection header's state to determine how the page should be
890         handled. Moreover, both headers' states are now expressed in terms of
891         ContentSecurityPolicy::ReflectedXSSDisposition.
892
893         [1]: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#reflected-xss--experimental
894
895         Tests: http/tests/security/contentSecurityPolicy/1.1/reflected-xss-allow.html
896                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-allow.html
897                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-block.html
898                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-filter.html
899                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-invalid.html
900                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-allow-unset.html
901                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-allow.html
902                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-block.html
903                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-filter.html
904                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-invalid.html
905                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-block-unset.html
906                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-allow.html
907                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-block.html
908                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-filter.html
909                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-invalid.html
910                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-filter-unset.html
911                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-allow.html
912                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-block.html
913                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-filter.html
914                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-invalid.html
915                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-invalid-unset.html
916                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-allow.html
917                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-block.html
918                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-filter.html
919                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-invalid.html
920                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-and-xss-protection-unset-unset.html
921                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-block.html
922                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-empty.html
923                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-filter.html
924                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-invalid.html
925                http/tests/security/contentSecurityPolicy/1.1/reflected-xss-parsing.html
926
927         * html/parser/XSSAuditor.cpp:
928         (WebCore::combineXSSProtectionHeaderAndCSP):
929             Given both headers' states, return the state which the XSSAuditor
930             should use when parsing a page. Blocking overrides filtering, which
931             overrides disabling.
932         (WebCore):
933         (WebCore::XSSAuditor::init):
934             Process the 'X-XSS-Protection' header before grabbing the CSP
935             header's state. Both are passed into the new
936             combineXSSProtectionHeaderAndCSP method to generate the final
937             state that ought to be used.
938         (WebCore::XSSAuditor::XSSAuditor):
939         (WebCore::XSSAuditor::filterToken):
940         * html/parser/XSSAuditor.h:
941             Switch to ContentSecurityPolicy::ReflectedXSSDisposition internally
942             in XSSAuditor.
943         * page/ContentSecurityPolicy.cpp:
944         (WebCore::CSPDirectiveList::reflectedXSSDisposition):
945             Enum defining the possible state of the 'reflected-xss' CSP directive.
946         (CSPDirectiveList):
947         (WebCore::CSPDirectiveList::CSPDirectiveList):
948         (WebCore::CSPDirectiveList::parseReflectedXSS):
949             Given a 'reflected-xss' directive's value, set the
950             ReflectedXSSDisposition into a new property on the CSPDirectiveList.
951         (WebCore):
952         (WebCore::CSPDirectiveList::addDirective):
953             Accept 'reflected-xss' as a valid directive if we're in
954             experimental mode.
955         (WebCore::ContentSecurityPolicy::reflectedXSSDisposition):
956             Expose the directive's state via the public API.
957         (WebCore::ContentSecurityPolicy::reportInvalidReflectedXSS):
958             Generate console errors when invalid reflected-xss directive values
959             are encounted during parsing.
960         * page/ContentSecurityPolicy.h:
961         * platform/network/HTTPParsers.cpp:
962         (WebCore::parseXSSProtectionHeader):
963         * platform/network/HTTPParsers.h:
964         (WebCore):
965             Start using ContentSecurityPolicy::ReflectedXSSDisposition rather
966             than the XSSProtectionDisposition enum.
967
968 2013-02-24  Zan Dobersek  <zdobersek@igalia.com>
969
970         Updating GObject bindings baselines after r143863.
971
972         Unreviewed.
973
974         * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
975         * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
976         * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
977         * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
978         * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
979         * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
980         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
981         * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
982         * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
983         * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
984         * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
985         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
986         * bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp:
987         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
988         * bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
989
990 2013-02-24  Zan Dobersek  <zdobersek@igalia.com>
991
992         [GTK] Stop generating UserAgentGtk.h
993         https://bugs.webkit.org/show_bug.cgi?id=110582
994
995         Reviewed by Martin Robinson.
996
997         No new tests - no new functionality.
998
999         * GNUmakefile.list.am: Move the UserAgentGtk.h build target from the derived sources list to
1000         the list of the WebCore platform sources.
1001         * platform/gtk/UserAgentGtk.cpp:
1002         (WebCore::standardUserAgent): Rename WEBKIT_USER_AGENT_(MAJOR|MINOR)_VERSION to
1003         USER_AGENT_GTK_(MAJOR|MINOR)_VERSION.
1004         * platform/gtk/UserAgentGtk.h: Renamed from Source/WebCore/platform/gtk/UserAgentGtk.h.in.
1005         Same as the input file expect for removed WEBKIT_USER_AGENT_(MAJOR|MINOR)_VERSION defines that
1006         are now replaced by using the USER_AGENT_GTK_(MAJOR|MINOR)_VERSION defines placed in autotoolsconfig.h.
1007
1008 2013-02-24  Gustavo Noronha Silva  <gns@gnome.org>
1009
1010         [GTK] GTK+ 2 build broken since GTK_API_VERSION_2 moved to autoconfig.h
1011         https://bugs.webkit.org/show_bug.cgi?id=110702
1012
1013         Reviewed by Martin Robinson.
1014
1015         No tests. Build fix, no behaviour change.
1016
1017         * platform/gtk/GtkVersioning.h: include the autotoolsconfig.h header,
1018         which contains the GTK_API_VERSION_2 define now.
1019
1020 2013-02-24  Andreas Kling  <akling@apple.com>
1021
1022         StyledElement: Don't expose a mutable direct interface to the inline style.
1023         <http://webkit.org/b/110711>
1024
1025         Reviewed by Antti Koivisto.
1026
1027         Remove the ability to grab at a mutable StylePropertySet* for a StyledElement's inline style
1028         from the outside world. It's now private and returns MutableStylePropertySet* for future convenience.
1029
1030         Three paths to changing the inline style remain:
1031
1032             - Setting the "style" attribute
1033             - Via CSSOM (element.style)
1034             - setInlineStyleProperty/removeInlineStyleProperty helpers
1035
1036         * dom/StyledElement.cpp:
1037         (WebCore::StyledElement::ensureMutableInlineStyle):
1038         * dom/StyledElement.h:
1039         (StyledElement):
1040         * editing/ApplyStyleCommand.cpp:
1041         (WebCore::copyStyleOrCreateEmpty):
1042         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1043         (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
1044         (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
1045         * editing/ReplaceSelectionCommand.cpp:
1046         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
1047         * html/canvas/CanvasStyle.cpp:
1048         (WebCore::currentColor):
1049
1050 2013-02-24  Keishi Hattori  <keishi@webkit.org>
1051
1052         Add methods to date types for new calendar picker
1053         https://bugs.webkit.org/show_bug.cgi?id=110454
1054
1055         Reviewed by Kent Tamura.
1056
1057         Adding some methods to date types as part of the calendar picker redesign (Bug 109439).
1058
1059         Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-date-types.html
1060
1061         * Resources/pagepopups/calendarPicker.js:
1062         (createUTCDate):
1063         (DateType): Base class for Day, Week and Month.
1064         (Day): Simplified constructor to only accept year, month, date.
1065         (Day.createFromValue): Creates a new Day from a value.
1066         (Day.createFromDate): Throw an error if the given date is invalid.
1067         (Day.createFromDay):
1068         (Day.prototype.equals): Accept non Day objects.
1069         (Day.prototype.previous): Modified to take an offset value.
1070         (Day.prototype.next): Ditto.
1071         (Day.prototype.firstDay): Returns the first day in the range. For Day's case, returns itself.
1072         (Day.prototype.middleDay): Returns the middle day in the range. For Day's case, returns itself.
1073         (Day.prototype.lastDay): Returns the middle day in the range. For Day's case, returns itself.
1074         (Day.prototype.valueOf):
1075         (Day.prototype.weekDay): Returns the week day.
1076         (Week): Simplified constructor to only accept year, month, date.
1077         (Week.createFromValue):
1078         (Week.createFromDate):
1079         (Week.createFromDay):
1080         (Week.weekOneStartDateForYear):
1081         (Week.weekOneStartDayForYear):
1082         (Week._numberOfWeeksSinceDate):
1083         (Week.prototype.equals):
1084         (Week.prototype.previous):
1085         (Week.prototype.next):
1086         (Week.prototype.firstDay): Returns the first day in the week.
1087         (Week.prototype.middleDay): Returns the the day for Thursday.
1088         (Week.prototype.lastDay): Returns the last day in the week.
1089         (Week.prototype.valueOf):
1090         (Month):
1091         (Month.createFromValue):
1092         (Month.createFromDate):
1093         (Month.createFromDay):
1094         (Month.prototype.containsDay):
1095         (Month.prototype.equals):
1096         (Month.prototype.previous):
1097         (Month.prototype.next):
1098         (Month.prototype.firstDay): Returns the first day in the month.
1099         (Month.prototype.middleDay): Returns the middle day in the month.
1100         (Month.prototype.lastDay): Returns the last day in the month.
1101         (Month.prototype.valueOf):
1102         (Month.prototype.toLocaleString): Moved location.
1103         (Month.prototype.toShortLocaleString): Returns the month string in short format.
1104         (CalendarPicker): Use createFromValue.
1105         (YearMonthController.prototype.setMonth): Ditto.
1106         (YearMonthController.prototype.moveRelatively): Ditto.
1107
1108 2013-02-24  Hajime Morrita  <morrita@google.com>
1109
1110         [Custom Elements] Implement bare-bone document.register()
1111         https://bugs.webkit.org/show_bug.cgi?id=100229
1112
1113         Reviewed by Adam Barth.
1114
1115         This change implements a prefixed version of document.register(), with minimal feature support.
1116         - The feature is guarded by ENABLE(CUSTOM_ELEMENTS) and RuntimeEnabledFeatures::customDOMElementsEnabled().
1117         - This bare-bone version only recognizes "name" and "prototype" parameters. It doesn't support default value of "prototype" parameter.
1118         - Currently only V8 is supported. JSC binding needs its own binding implementation.
1119
1120         = Major new classes under dom/:
1121
1122         The dom module gets two new classes:
1123         - CustomElementConstructor: A return value of document.register()
1124           which holds the custom element definition.
1125         - CustomElementRegistry: A collection of CustomElementConstructor objects.
1126           CustomElementRegistry instance is created per Document and is owned by the Document.
1127
1128         CustomElementConstructor knows the definition of each custom
1129         element, which is registered by document.register(). The name and
1130         other options are held by this object. CustomElementRegistry owns a set
1131         of the registered constructors. The registry guarantees invariants
1132         like validity and uniqueness of the element names.
1133
1134         = A change on make_names.pl
1135
1136         This change tweaks make_names.pl (or generated HTMLElementFactory)
1137         to hook the creations of unknown elements. Some of element names
1138         which come to the fallback path can be one of registered custom
1139         element.
1140
1141         = [V8WrapAsFunction] extended attribute:
1142
1143         The document.register() API returns a constructor
1144         function. However, the V8 binding currently doesn't support it. To
1145         make it possible, this change introduces "V8WrapAsFunction"
1146         extended attribute for annotating CustomElementConstructor IDL
1147         interface.
1148
1149         V8WrapAsFunction wraps the annotated interface with a JavaScript
1150         function, which calls the original object as a function, or as a
1151         constructor depends on the context.
1152
1153         With this wrapper function, there are two levels of indirection
1154         between native C++ object and author-visible JS function:
1155
1156         [JS Adaptor Function] <-(hidden property)-> [JS Wrapper Object] -(internal field)-> [C++ Native object]
1157
1158         The code generator generates the binding code which deals with
1159         this indirection.  Also, there is a set of helper functions in
1160         V8AdaptorFunction.h/cpp which takes care of this indirection.
1161         V8DOMWrapper.cpp/h works as a facade for these APIs and is used from
1162         the generated code.
1163
1164         This redundancy comes from limitations of both V8 bindings and V8
1165         embedding API. See bug 108138 for details.
1166
1167         = V8HTMLCustomElement
1168
1169         Unlike built-in HTML elements, any custom element has no
1170         corresponding C++ class. Instead, document.register() should allow
1171         passing a prototype object for the elements being registered.
1172
1173         V8HTMLCustomElement handles this lack of native class.  It behaves
1174         like a native side proxy of non-native HTMLElement subclasses.  It
1175         connects each custom element to an appropriate native element,
1176         which is HTMLElement at this time. This restriction will be
1177         relaxed later. See Bug 110436 for details.
1178
1179         = Custom DOM elements and multiple worlds
1180
1181         In this patch, custom element registration and instantiation is not allowed
1182         in non-main world and document.register() API just fails there.
1183
1184         Reviewed by Adam Barth.
1185
1186         Tests: fast/dom/custom/document-register-basic.html
1187                fast/dom/custom/document-register-reentrant-null-constructor.html
1188                fast/dom/custom/document-register-reentrant-returning-fake.html
1189                fast/dom/custom/document-register-reentrant-throwing-constructor.html
1190
1191         * DerivedSources.make:
1192         * WebCore.gypi:
1193         * bindings/generic/RuntimeEnabledFeatures.cpp:
1194         * bindings/generic/RuntimeEnabledFeatures.h:
1195         (RuntimeEnabledFeatures):
1196         (WebCore::RuntimeEnabledFeatures::customDOMElementsEnabled):
1197         (WebCore::RuntimeEnabledFeatures::setCustomDOMElements):
1198         * bindings/scripts/CodeGeneratorV8.pm:
1199         (GenerateHeader):
1200         * bindings/scripts/IDLAttributes.txt:
1201         * bindings/v8/CustomElementHelpers.cpp: Added.
1202         (WebCore::CustomElementHelpers::initializeConstructorWrapper):
1203         (WebCore::hasNoBuiltinsInPrototype):
1204         (WebCore::CustomElementHelpers::isValidPrototypeParameter):
1205         (WebCore::CustomElementHelpers::isFeatureAllowed):
1206         * bindings/v8/CustomElementHelpers.h: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
1207         (CustomElementHelpers):
1208         * bindings/v8/V8AdaptorFunction.cpp: Added.
1209         (WebCore::V8AdaptorFunction::getTemplate):
1210         (WebCore::V8AdaptorFunction::configureTemplate):
1211         (WebCore::V8AdaptorFunction::invocationCallback):
1212         (WebCore::V8AdaptorFunction::wrap):
1213         * bindings/v8/V8AdaptorFunction.h: Added.
1214         (V8AdaptorFunction):
1215         (WebCore::V8AdaptorFunction::unwrap):
1216         (WebCore::V8AdaptorFunction::get):
1217         * bindings/v8/V8DOMConfiguration.cpp:
1218         (WebCore::V8DOMConfiguration::configureTemplate):
1219         * bindings/v8/V8DOMWrapper.cpp:
1220         (WebCore::V8DOMWrapper::toFunction):
1221         (WebCore::V8DOMWrapper::fromFunction):
1222         * bindings/v8/V8DOMWrapper.h:
1223         (V8DOMWrapper):
1224         * bindings/v8/V8HTMLCustomElement.cpp: Added.
1225         (WebCore::V8HTMLCustomElement::createWrapper):
1226         * bindings/v8/V8HTMLCustomElement.h: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
1227         (V8HTMLCustomElement):
1228         (WebCore::V8HTMLCustomElement::toV8):
1229         (WebCore::HTMLCustomElement::toV8):
1230         * bindings/v8/V8HiddenPropertyName.h:
1231         * bindings/v8/custom/V8CustomElementConstructorCustom.cpp: Added.
1232         (WebCore::V8CustomElementConstructor::callAsFunctionCallback):
1233         * dom/CustomElementConstructor.cpp: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
1234         (WebCore::CustomElementConstructor::create):
1235         (WebCore::CustomElementConstructor::CustomElementConstructor):
1236         (WebCore::CustomElementConstructor::~CustomElementConstructor):
1237         (WebCore::CustomElementConstructor::createElement):
1238         * dom/CustomElementConstructor.h: Copied from Source/WebCore/bindings/v8/V8HiddenPropertyName.h.
1239         (CustomElementConstructor):
1240         (WebCore::CustomElementConstructor::document):
1241         (WebCore::CustomElementConstructor::tagName):
1242         (WebCore::CustomElementConstructor::name):
1243         * dom/CustomElementConstructor.idl: Added.
1244         * dom/CustomElementRegistry.cpp: Added.
1245         (WebCore::CustomElementRegistry::CustomElementRegistry):
1246         (WebCore::CustomElementRegistry::~CustomElementRegistry):
1247         (WebCore::CustomElementRegistry::constructorOf):
1248         (WebCore::CustomElementRegistry::isValidName):
1249         (WebCore::CustomElementRegistry::registerElement):
1250         (WebCore::CustomElementRegistry::find):
1251         (WebCore::CustomElementRegistry::createElement):
1252         (WebCore::CustomElementRegistry::document):
1253         * dom/CustomElementRegistry.h: Added.
1254         (CustomElementRegistry):
1255         * dom/Document.cpp:
1256         (WebCore::Document::removedLastRef):
1257         (WebCore::Document::registerElement):
1258         (WebCore::Document::registry):
1259         * dom/Document.h:
1260         (Document):
1261         * dom/make_names.pl:
1262         (printWrapperFactoryCppFile):
1263         * html/HTMLDocument.idl:
1264
1265 2013-02-24  Eugene Klyuchnikov  <eustas@chromium.org>
1266
1267         Web Inspector: [Timeline] Shrink CPU bars to make it easier to see frame information popup.
1268         https://bugs.webkit.org/show_bug.cgi?id=110561
1269
1270         Reviewed by Pavel Feldman.
1271
1272         Area that causes frame information popup is overly "shaded" by CPU bars.
1273
1274         * inspector/front-end/timelinePanel.css:
1275         (.timeline-cpu-bars .timeline-graph-bar): Reduce height and opacity.
1276
1277 2013-02-24  Andreas Kling  <akling@apple.com>
1278
1279         Reduce include graph of JSDOMBinding.h
1280         <http://webkit.org/b/110709>
1281
1282         Reviewed by Antti Koivisto.
1283
1284         Move WebCore::root(Foo*) to the custom JSFooCustom.h headers.
1285         This reduces the number of headers pulled in by JSDOMBinding.h.
1286
1287         * WebCore.xcodeproj/project.pbxproj:
1288         * bindings/js/JSCSSRuleCustom.cpp:
1289         * bindings/js/JSCSSRuleCustom.h: Added.
1290         (WebCore::root):
1291         * bindings/js/JSCSSRuleListCustom.cpp:
1292         * bindings/js/JSCSSStyleDeclarationCustom.h:
1293         (WebCore::root):
1294         * bindings/js/JSDOMBinding.h:
1295         * bindings/js/JSMediaListCustom.h: Added.
1296         (WebCore::root):
1297         * bindings/js/JSMutationObserverCustom.cpp:
1298         * bindings/js/JSNodeCustom.h:
1299         (WebCore::root):
1300         * bindings/js/JSSVGElementInstanceCustom.cpp:
1301         * bindings/js/JSStyleSheetCustom.h: Added.
1302         (WebCore::root):
1303         * bindings/js/JSTextTrackCustom.h:
1304         * bindings/js/JSTextTrackListCustom.cpp:
1305         * bindings/js/JSXPathResultCustom.cpp:
1306         * bindings/js/SerializedScriptValue.cpp:
1307         * bindings/scripts/CodeGeneratorGObject.pm:
1308         (Generate):
1309         * bindings/scripts/CodeGeneratorJS.pm:
1310         (GenerateImplementation):
1311         * bindings/scripts/CodeGeneratorObjC.pm:
1312         (AddIncludesForType):
1313         * css/CSSRule.idl:
1314         * css/CSSStyleDeclaration.idl:
1315         * css/MediaList.idl:
1316         * css/StyleSheet.idl:
1317         * editing/mac/EditorMac.mm:
1318
1319 2013-02-23  Alexey Proskuryakov  <ap@apple.com>
1320
1321         ResourceRequestBase unnecessarily updates when nothing changes
1322         https://bugs.webkit.org/show_bug.cgi?id=110665
1323
1324         Reviewed by Dan Bernstein.
1325
1326         Don't mark platform data for update if nothing really changed. This avoids ever doing
1327         doUpdatePlatformRequest() in NetworkProcess during normal browsing for me, which is
1328         good for performance.
1329
1330         * platform/network/ResourceRequestBase.cpp:
1331         (WebCore::ResourceRequestBase::removeCredentials):
1332         (WebCore::ResourceRequestBase::setCachePolicy):
1333         (WebCore::ResourceRequestBase::setTimeoutInterval):
1334         (WebCore::ResourceRequestBase::setFirstPartyForCookies):
1335         (WebCore::ResourceRequestBase::setHTTPMethod):
1336         (WebCore::ResourceRequestBase::clearHTTPAuthorization):
1337         (WebCore::ResourceRequestBase::setAllowCookies):
1338         (WebCore::ResourceRequestBase::setPriority):
1339
1340 2013-02-23  Philip Rogers  <pdr@google.com>
1341
1342         Prevent crash in animated transform lists
1343         https://bugs.webkit.org/show_bug.cgi?id=110704
1344
1345         Reviewed by Abhishek Arya.
1346
1347         This change prevents accessing values off the end of toAtEndOfDuration by adding a check
1348         for this case. Similar checks were added in r116458 but the author failed to catch this
1349         case. WK110706 has been filed to handle this case in general.
1350
1351         This change also makes a trivial change that marks effectiveFrom as const.
1352
1353         Test: svg/animations/animateTransform-list-crash.html
1354
1355         * svg/SVGAnimatedTransformList.cpp:
1356         (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
1357
1358 2013-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
1359
1360         SelectorChecker should not know about SelectorCheckerFastPath.
1361         https://bugs.webkit.org/show_bug.cgi?id=110663
1362
1363         Both SelectorChecker and it's speedy cousin unfortunately include each other.
1364         Luckily, the particular way in which SelectorQuery uses SelectorChecker yields
1365         to a fairly simple decoupling. Now only the cousin knows of SelectorChecker.
1366
1367         Reviewed by Antti Koivisto.
1368
1369         No new functionality, covered by existing tests.
1370
1371         * css/SelectorChecker.cpp:
1372         (WebCore::SelectorChecker::matches): Removed.
1373         * css/SelectorChecker.h:
1374         (SelectorChecker): Updated the decls to remove fast-path flag.
1375         * dom/SelectorQuery.cpp:
1376         (WebCore::SelectorDataList::selectorMatches): Added a helper just for SelectorQuery.
1377         (WebCore::SelectorDataList::matches): Changed the callsite to use new helper.
1378         (WebCore::SelectorDataList::execute): Ditto.
1379         * dom/SelectorQuery.h:
1380         (SelectorDataList): Updated decls.
1381
1382 2013-02-23  Eric Carlson  <eric.carlson@apple.com>
1383
1384         [Mac] user preference caption style applied incorrectly
1385         https://bugs.webkit.org/show_bug.cgi?id=110707
1386         <rdar://problem/13281096>
1387
1388         Reviewed by Maciej Stachowiak.
1389
1390         * html/shadow/MediaControlElements.cpp:
1391         (WebCore::MediaControlTextTrackContainerElement::textTrackContainerElementShadowPseudoId): New
1392             static function so the pseudo ID is available.
1393         (WebCore::MediaControlTextTrackContainerElement::shadowPseudoId): Call textTrackContainerElementShadowPseudoId.
1394         * html/shadow/MediaControlElements.h:
1395
1396         * page/CaptionUserPreferencesMac.mm:
1397         (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride): Style the text track container
1398             element for cue color, edge style, and font name.
1399
1400 2013-02-22  Kentaro Hara  <haraken@chromium.org>
1401
1402         [V8] Generate xxxAttrGetterCallback()
1403         https://bugs.webkit.org/show_bug.cgi?id=110676
1404
1405         Reviewed by Adam Barth.
1406
1407         This is one of steps to insert TRACE_EVENT_STATE() macros
1408         into DOM bindings. This patch introduces an indirection
1409         function for xxxAttrGetter(), like this:
1410
1411         // For non-custom getters
1412         Handle<Value> xxxAttrGetterCallback(...) {
1413           return xxxAttrGetter(...);
1414         }
1415
1416         // For custom getters.
1417         Handle<Value> xxxAttrGetterCallback(...) {
1418           return xxxAttrGetterCustom(...);
1419         }
1420
1421         No tests. No change in behavior.
1422
1423         * bindings/scripts/CodeGeneratorV8.pm:
1424         (GenerateDomainSafeFunctionGetter):
1425         (GenerateNormalAttrGetterCallback):
1426         (GenerateNormalAttrGetter):
1427         (GenerateSingleBatchedAttribute):
1428         (GenerateNonStandardFunction):
1429         (GenerateImplementation):
1430         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1431         (WebCore::TestActiveDOMObjectV8Internal::excitingAttrAttrGetterCallback):
1432         (TestActiveDOMObjectV8Internal):
1433         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetterCallback):
1434         (WebCore):
1435         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1436         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1437         (WebCore::TestEventConstructorV8Internal::attr1AttrGetterCallback):
1438         (TestEventConstructorV8Internal):
1439         (WebCore::TestEventConstructorV8Internal::attr2AttrGetterCallback):
1440         (WebCore):
1441         * bindings/scripts/test/V8/V8TestException.cpp:
1442         (WebCore::TestExceptionV8Internal::nameAttrGetterCallback):
1443         (TestExceptionV8Internal):
1444         (WebCore):
1445         * bindings/scripts/test/V8/V8TestInterface.cpp:
1446         (WebCore::TestInterfaceV8Internal::supplementalStaticReadOnlyAttrAttrGetterCallback):
1447         (TestInterfaceV8Internal):
1448         (WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrGetterCallback):
1449         (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetterCallback):
1450         (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetterCallback):
1451         (WebCore::TestInterfaceV8Internal::supplementalStr3AttrGetterCallback):
1452         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetterCallback):
1453         (WebCore):
1454         * bindings/scripts/test/V8/V8TestObj.cpp:
1455         (WebCore::TestObjV8Internal::readOnlyLongAttrAttrGetterCallback):
1456         (TestObjV8Internal):
1457         (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetterCallback):
1458         (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetterCallback):
1459         (WebCore::TestObjV8Internal::staticReadOnlyLongAttrAttrGetterCallback):
1460         (WebCore::TestObjV8Internal::staticStringAttrAttrGetterCallback):
1461         (WebCore::TestObjV8Internal::enumAttrAttrGetterCallback):
1462         (WebCore::TestObjV8Internal::shortAttrAttrGetterCallback):
1463         (WebCore::TestObjV8Internal::unsignedShortAttrAttrGetterCallback):
1464         (WebCore::TestObjV8Internal::longAttrAttrGetterCallback):
1465         (WebCore::TestObjV8Internal::longLongAttrAttrGetterCallback):
1466         (WebCore::TestObjV8Internal::unsignedLongLongAttrAttrGetterCallback):
1467         (WebCore::TestObjV8Internal::stringAttrAttrGetterCallback):
1468         (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
1469         (WebCore::TestObjV8Internal::testObjAttrAttrGetterCallback):
1470         (WebCore::TestObjV8Internal::XMLObjAttrAttrGetterCallback):
1471         (WebCore::TestObjV8Internal::createAttrGetterCallback):
1472         (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetterCallback):
1473         (WebCore::TestObjV8Internal::reflectedIntegralAttrAttrGetterCallback):
1474         (WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrGetterCallback):
1475         (WebCore::TestObjV8Internal::reflectedBooleanAttrAttrGetterCallback):
1476         (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetterCallback):
1477         (WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrGetterCallback):
1478         (WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrGetterCallback):
1479         (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetterCallback):
1480         (WebCore::TestObjV8Internal::typedArrayAttrAttrGetterCallback):
1481         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetterCallback):
1482         (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrGetterCallback):
1483         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetterCallback):
1484         (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetterCallback):
1485         (WebCore::TestObjV8Internal::customAttrAttrGetterCallback):
1486         (WebCore::TestObjV8Internal::withScriptStateAttributeAttrGetterCallback):
1487         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetterCallback):
1488         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetterCallback):
1489         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetterCallback):
1490         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetterCallback):
1491         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetterCallback):
1492         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetterCallback):
1493         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetterCallback):
1494         (WebCore::TestObjV8Internal::conditionalAttr1AttrGetterCallback):
1495         (WebCore::TestObjV8Internal::conditionalAttr2AttrGetterCallback):
1496         (WebCore::TestObjV8Internal::conditionalAttr3AttrGetterCallback):
1497         (WebCore::TestObjV8Internal::cachedAttribute1AttrGetterCallback):
1498         (WebCore::TestObjV8Internal::cachedAttribute2AttrGetterCallback):
1499         (WebCore::TestObjV8Internal::anyAttributeAttrGetterCallback):
1500         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrGetterCallback):
1501         (WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrGetterCallback):
1502         (WebCore::TestObjV8Internal::enabledPerContextAttr1AttrGetterCallback):
1503         (WebCore::TestObjV8Internal::enabledPerContextAttr2AttrGetterCallback):
1504         (WebCore::TestObjV8Internal::floatArrayAttrGetterCallback):
1505         (WebCore::TestObjV8Internal::doubleArrayAttrGetterCallback):
1506         (WebCore::TestObjV8Internal::contentDocumentAttrGetterCallback):
1507         (WebCore::TestObjV8Internal::mutablePointAttrGetterCallback):
1508         (WebCore::TestObjV8Internal::immutablePointAttrGetterCallback):
1509         (WebCore::TestObjV8Internal::strawberryAttrGetterCallback):
1510         (WebCore::TestObjV8Internal::strictFloatAttrGetterCallback):
1511         (WebCore::TestObjV8Internal::descriptionAttrGetterCallback):
1512         (WebCore::TestObjV8Internal::idAttrGetterCallback):
1513         (WebCore::TestObjV8Internal::hashAttrGetterCallback):
1514         (WebCore::TestObjV8Internal::replaceableAttributeAttrGetterCallback):
1515         (WebCore):
1516         (WebCore::ConfigureV8TestObjTemplate):
1517         (WebCore::V8TestObj::installPerContextProperties):
1518         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1519         (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrGetterCallback):
1520         (TestSerializedScriptValueInterfaceV8Internal):
1521         (WebCore::TestSerializedScriptValueInterfaceV8Internal::readonlyValueAttrGetterCallback):
1522         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetterCallback):
1523         (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetterCallback):
1524         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetterCallback):
1525         (WebCore):
1526         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
1527         (WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrGetterCallback):
1528         (TestTypedefsV8Internal):
1529         (WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrGetterCallback):
1530         (WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrGetterCallback):
1531         (WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrGetterCallback):
1532         (WebCore::TestTypedefsV8Internal::stringAttrWithGetterExceptionAttrGetterCallback):
1533         (WebCore::TestTypedefsV8Internal::stringAttrWithSetterExceptionAttrGetterCallback):
1534         (WebCore):
1535
1536 2013-02-23  Kentaro Hara  <haraken@chromium.org>
1537
1538         WebCore fails to link in Chromium official build
1539         https://bugs.webkit.org/show_bug.cgi?id=110701
1540
1541         Reviewed by Abhishek Arya.
1542
1543         This is a follow-up fix for r143853. In WebCore.gyp, we need to
1544         increase the shard of 'webcore_rendering' as well.
1545
1546         No tests. No change in behavior.
1547
1548         * WebCore.gyp/WebCore.gyp:
1549
1550 2013-02-23  Kentaro Hara  <haraken@chromium.org>
1551
1552         Unreviewed, rolling out r143844.
1553         http://trac.webkit.org/changeset/143844
1554         https://bugs.webkit.org/show_bug.cgi?id=110241
1555
1556         It broke Chromium Mac Release Build
1557
1558         * WebCore.gyp/WebCore.gyp:
1559         * WebCore.gyp/WebCoreGTK.gyp: Removed.
1560         * WebCore.gypi:
1561
1562 2013-02-23  Adam Barth  <abarth@webkit.org>
1563
1564         WebCore fails to link in Chromium official build
1565         https://bugs.webkit.org/show_bug.cgi?id=110697
1566
1567         Reviewed by Eric Seidel.
1568
1569         Apparently we need to use more shards to work around linker limitations
1570         on Windows again.
1571
1572         * WebCore.gyp/WebCore.gyp:
1573
1574 2013-02-23  Kentaro Hara  <haraken@chromium.org>
1575
1576         [V8] Rename constructorCallbackCustom() to constructorCustom()
1577         https://bugs.webkit.org/show_bug.cgi?id=110671
1578
1579         Reviewed by Adam Barth.
1580
1581         his is one of steps to insert TRACE_EVENT_STATE() macros
1582         into DOM bindings.
1583         See https://bugs.webkit.org/show_bug.cgi?id=110667#c0
1584
1585         In the new world, "Callback" is used to indicate that it
1586         is a function called back by V8. Currently "Callback" is
1587         used for both V8 callbacks, DOM methods and DOM constructors.
1588         This patch fixes the inconsistency.
1589
1590         No tests. No change in behavior.
1591
1592         * bindings/scripts/CodeGeneratorV8.pm:
1593         (GenerateHeader):
1594         (GenerateCustomConstructorCallback):
1595         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
1596         (WebCore::V8ArrayBuffer::constructorCustom):
1597         * bindings/v8/custom/V8AudioContextCustom.cpp:
1598         (WebCore::V8AudioContext::constructorCustom):
1599         * bindings/v8/custom/V8BlobCustom.cpp:
1600         (WebCore::V8Blob::constructorCustom):
1601         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
1602         (WebCore::V8DOMFormData::constructorCustom):
1603         * bindings/v8/custom/V8DataViewCustom.cpp:
1604         (WebCore::V8DataView::constructorCustom):
1605         * bindings/v8/custom/V8MessageChannelCustom.cpp:
1606         (WebCore::V8MessageChannel::constructorCustom):
1607         * bindings/v8/custom/V8MutationObserverCustom.cpp:
1608         (WebCore::V8MutationObserver::constructorCustom):
1609         * bindings/v8/custom/V8WebKitPointCustom.cpp:
1610         (WebCore::V8WebKitPoint::constructorCustom):
1611         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1612         (WebCore::V8XMLHttpRequest::constructorCustom):
1613
1614 2013-02-23  Kentaro Hara  <haraken@chromium.org>
1615
1616         [V8] Rename xxxCallback() to xxxMethod(), and xxxCallbackCustom() to xxxMethodCustom()
1617         https://bugs.webkit.org/show_bug.cgi?id=110669
1618
1619         Reviewed by Adam Barth.
1620
1621         This is one of steps to insert TRACE_EVENT_STATE()
1622         macros into DOM bindings.
1623         See https://bugs.webkit.org/show_bug.cgi?id=110667#c0
1624
1625         In the new world, "Callback" is used to refer that it
1626         is a function called back by V8. Currently "Callback" is
1627         used for both V8 callbacks, DOM methods and DOM constructors.
1628         This patch fixes the inconsistency.
1629
1630         No tests. No change in behavior.
1631
1632         * bindings/scripts/CodeGeneratorV8.pm:
1633         (GenerateHeader):
1634         (GenerateDomainSafeFunctionGetter):
1635         (GenerateOverloadedFunctionCallback):
1636         (GenerateFunctionCallback):
1637         (GenerateNonStandardFunction):
1638         (GenerateImplementation):
1639         * bindings/scripts/test/V8/V8Float64Array.cpp:
1640         (WebCore::Float64ArrayV8Internal::fooMethod):
1641         (WebCore::Float64ArrayV8Internal::setMethod):
1642         (WebCore):
1643         (WebCore::ConfigureV8Float64ArrayTemplate):
1644         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1645         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionMethod):
1646         (WebCore::TestActiveDOMObjectV8Internal::postMessageMethod):
1647         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1648         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1649         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1650         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionMethod):
1651         (WebCore):
1652         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1653         (WebCore::TestEventTargetV8Internal::itemMethod):
1654         (WebCore::TestEventTargetV8Internal::addEventListenerMethod):
1655         (WebCore::TestEventTargetV8Internal::removeEventListenerMethod):
1656         (WebCore::TestEventTargetV8Internal::dispatchEventMethod):
1657         (WebCore):
1658         (WebCore::ConfigureV8TestEventTargetTemplate):
1659         * bindings/scripts/test/V8/V8TestInterface.cpp:
1660         (WebCore::TestInterfaceV8Internal::supplementalMethod1Method):
1661         (WebCore::TestInterfaceV8Internal::supplementalMethod2Method):
1662         (WebCore::TestInterfaceV8Internal::supplementalMethod3Method):
1663         (WebCore::TestInterfaceV8Internal::supplementalMethod4Method):
1664         (WebCore):
1665         (WebCore::ConfigureV8TestInterfaceTemplate):
1666         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1667         (WebCore::TestMediaQueryListListenerV8Internal::methodMethod):
1668         (WebCore):
1669         * bindings/scripts/test/V8/V8TestObj.cpp:
1670         (WebCore::TestObjV8Internal::voidMethodMethod):
1671         (WebCore::TestObjV8Internal::voidMethodWithArgsMethod):
1672         (WebCore::TestObjV8Internal::longMethodMethod):
1673         (WebCore::TestObjV8Internal::longMethodWithArgsMethod):
1674         (WebCore::TestObjV8Internal::objMethodMethod):
1675         (WebCore::TestObjV8Internal::objMethodWithArgsMethod):
1676         (WebCore::TestObjV8Internal::methodWithSequenceArgMethod):
1677         (WebCore::TestObjV8Internal::methodReturningSequenceMethod):
1678         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsMethod):
1679         (WebCore::TestObjV8Internal::serializedValueMethod):
1680         (WebCore::TestObjV8Internal::optionsObjectMethod):
1681         (WebCore::TestObjV8Internal::methodWithExceptionMethod):
1682         (WebCore::TestObjV8Internal::customMethodMethod):
1683         (WebCore::TestObjV8Internal::customMethodWithArgsMethod):
1684         (WebCore::TestObjV8Internal::addEventListenerMethod):
1685         (WebCore::TestObjV8Internal::removeEventListenerMethod):
1686         (WebCore::TestObjV8Internal::withScriptStateVoidMethod):
1687         (WebCore::TestObjV8Internal::withScriptStateObjMethod):
1688         (WebCore::TestObjV8Internal::withScriptStateVoidExceptionMethod):
1689         (WebCore::TestObjV8Internal::withScriptStateObjExceptionMethod):
1690         (WebCore::TestObjV8Internal::withScriptExecutionContextMethod):
1691         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateMethod):
1692         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionMethod):
1693         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesMethod):
1694         (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackMethod):
1695         (WebCore::TestObjV8Internal::methodWithOptionalArgMethod):
1696         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgMethod):
1697         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsMethod):
1698         (WebCore::TestObjV8Internal::methodWithOptionalStringMethod):
1699         (WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedMethod):
1700         (WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringMethod):
1701         (WebCore::TestObjV8Internal::methodWithCallbackArgMethod):
1702         (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgMethod):
1703         (WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgMethod):
1704         (WebCore::TestObjV8Internal::conditionalMethod1Method):
1705         (WebCore::TestObjV8Internal::conditionalMethod2Method):
1706         (WebCore::TestObjV8Internal::conditionalMethod3Method):
1707         (WebCore::TestObjV8Internal::overloadedMethod1Method):
1708         (WebCore::TestObjV8Internal::overloadedMethod2Method):
1709         (WebCore::TestObjV8Internal::overloadedMethod3Method):
1710         (WebCore::TestObjV8Internal::overloadedMethod4Method):
1711         (WebCore::TestObjV8Internal::overloadedMethod5Method):
1712         (WebCore::TestObjV8Internal::overloadedMethod6Method):
1713         (WebCore::TestObjV8Internal::overloadedMethod7Method):
1714         (WebCore::TestObjV8Internal::overloadedMethod8Method):
1715         (WebCore::TestObjV8Internal::overloadedMethod9Method):
1716         (WebCore::TestObjV8Internal::overloadedMethod10Method):
1717         (WebCore::TestObjV8Internal::overloadedMethod11Method):
1718         (WebCore::TestObjV8Internal::overloadedMethodMethod):
1719         (WebCore::TestObjV8Internal::classMethodMethod):
1720         (WebCore::TestObjV8Internal::classMethodWithOptionalMethod):
1721         (WebCore::TestObjV8Internal::classMethod2Method):
1722         (WebCore::TestObjV8Internal::overloadedMethod12Method):
1723         (WebCore::TestObjV8Internal::classMethodWithClampMethod):
1724         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Method):
1725         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Method):
1726         (WebCore::TestObjV8Internal::enabledPerContextMethod1Method):
1727         (WebCore::TestObjV8Internal::enabledPerContextMethod2Method):
1728         (WebCore::TestObjV8Internal::stringArrayFunctionMethod):
1729         (WebCore::TestObjV8Internal::domStringListFunctionMethod):
1730         (WebCore::TestObjV8Internal::getSVGDocumentMethod):
1731         (WebCore::TestObjV8Internal::convert1Method):
1732         (WebCore::TestObjV8Internal::convert2Method):
1733         (WebCore::TestObjV8Internal::convert4Method):
1734         (WebCore::TestObjV8Internal::convert5Method):
1735         (WebCore::TestObjV8Internal::mutablePointFunctionMethod):
1736         (WebCore::TestObjV8Internal::immutablePointFunctionMethod):
1737         (WebCore::TestObjV8Internal::orangeMethod):
1738         (WebCore::TestObjV8Internal::strictFunctionMethod):
1739         (WebCore::TestObjV8Internal::variadicStringMethodMethod):
1740         (WebCore::TestObjV8Internal::variadicDoubleMethodMethod):
1741         (WebCore::TestObjV8Internal::variadicNodeMethodMethod):
1742         (WebCore):
1743         (WebCore::ConfigureV8TestObjTemplate):
1744         (WebCore::V8TestObj::installPerContextPrototypeProperties):
1745         * bindings/scripts/test/V8/V8TestObj.h:
1746         (V8TestObj):
1747         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1748         (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListMethod):
1749         (WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListMethod):
1750         (WebCore):
1751         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
1752         (WebCore::TestTypedefsV8Internal::funcMethod):
1753         (WebCore::TestTypedefsV8Internal::multiTransferListMethod):
1754         (WebCore::TestTypedefsV8Internal::setShadowMethod):
1755         (WebCore::TestTypedefsV8Internal::methodWithSequenceArgMethod):
1756         (WebCore::TestTypedefsV8Internal::nullableArrayArgMethod):
1757         (WebCore::TestTypedefsV8Internal::funcWithClampMethod):
1758         (WebCore::TestTypedefsV8Internal::immutablePointFunctionMethod):
1759         (WebCore::TestTypedefsV8Internal::stringArrayFunctionMethod):
1760         (WebCore::TestTypedefsV8Internal::stringArrayFunction2Method):
1761         (WebCore::TestTypedefsV8Internal::methodWithExceptionMethod):
1762         (WebCore):
1763         (WebCore::ConfigureV8TestTypedefsTemplate):
1764         * bindings/v8/custom/V8ClipboardCustom.cpp:
1765         (WebCore::V8Clipboard::clearDataMethodCustom):
1766         (WebCore::V8Clipboard::setDragImageMethodCustom):
1767         * bindings/v8/custom/V8ConsoleCustom.cpp:
1768         (WebCore::V8Console::traceMethodCustom):
1769         (WebCore::V8Console::assertMethodCustom):
1770         (WebCore::V8Console::profileMethodCustom):
1771         (WebCore::V8Console::profileEndMethodCustom):
1772         * bindings/v8/custom/V8CryptoCustom.cpp:
1773         (WebCore::V8Crypto::getRandomValuesMethodCustom):
1774         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
1775         (WebCore::V8DOMFormData::appendMethodCustom):
1776         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1777         (WebCore::V8DOMWindow::addEventListenerMethodCustom):
1778         (WebCore::V8DOMWindow::removeEventListenerMethodCustom):
1779         (WebCore::V8DOMWindow::postMessageMethodCustom):
1780         (WebCore::V8DOMWindow::toStringMethodCustom):
1781         (WebCore::V8DOMWindow::releaseEventsMethodCustom):
1782         (WebCore::V8DOMWindow::captureEventsMethodCustom):
1783         (WebCore::V8DOMWindow::showModalDialogMethodCustom):
1784         (WebCore::V8DOMWindow::openMethodCustom):
1785         (WebCore::V8DOMWindow::setTimeoutMethodCustom):
1786         (WebCore::V8DOMWindow::setIntervalMethodCustom):
1787         * bindings/v8/custom/V8DataViewCustom.cpp:
1788         (WebCore::V8DataView::getInt8MethodCustom):
1789         (WebCore::V8DataView::getUint8MethodCustom):
1790         (WebCore::V8DataView::setInt8MethodCustom):
1791         (WebCore::V8DataView::setUint8MethodCustom):
1792         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1793         (WebCore::V8DedicatedWorkerContext::postMessageMethodCustom):
1794         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
1795         (WebCore::V8DeviceMotionEvent::initDeviceMotionEventMethodCustom):
1796         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
1797         (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventMethodCustom):
1798         * bindings/v8/custom/V8DocumentCustom.cpp:
1799         (WebCore::V8Document::evaluateMethodCustom):
1800         (WebCore::V8Document::createTouchListMethodCustom):
1801         * bindings/v8/custom/V8GeolocationCustom.cpp:
1802         (WebCore::V8Geolocation::getCurrentPositionMethodCustom):
1803         (WebCore::V8Geolocation::watchPositionMethodCustom):
1804         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
1805         (WebCore::V8HTMLAllCollection::itemMethodCustom):
1806         (WebCore::V8HTMLAllCollection::namedItemMethodCustom):
1807         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1808         (WebCore::V8HTMLCanvasElement::getContextMethodCustom):
1809         (WebCore::V8HTMLCanvasElement::toDataURLMethodCustom):
1810         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1811         (WebCore::V8HTMLDocument::writeMethodCustom):
1812         (WebCore::V8HTMLDocument::writelnMethodCustom):
1813         (WebCore::V8HTMLDocument::openMethodCustom):
1814         * bindings/v8/custom/V8HTMLFormControlsCollectionCustom.cpp:
1815         (WebCore::V8HTMLFormControlsCollection::namedItemMethodCustom):
1816         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1817         (WebCore::v8HTMLImageElementConstructorMethodCustom):
1818         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
1819         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
1820         (WebCore::V8HTMLInputElement::setSelectionRangeMethodCustom):
1821         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1822         (WebCore::V8HTMLOptionsCollection::namedItemMethodCustom):
1823         (WebCore::V8HTMLOptionsCollection::removeMethodCustom):
1824         (WebCore::V8HTMLOptionsCollection::addMethodCustom):
1825         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
1826         (WebCore::V8HTMLSelectElement::removeMethodCustom):
1827         * bindings/v8/custom/V8HistoryCustom.cpp:
1828         (WebCore::V8History::pushStateMethodCustom):
1829         (WebCore::V8History::replaceStateMethodCustom):
1830         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1831         (WebCore::V8InjectedScriptHost::inspectedObjectMethodCustom):
1832         (WebCore::V8InjectedScriptHost::internalConstructorNameMethodCustom):
1833         (WebCore::V8InjectedScriptHost::isHTMLAllCollectionMethodCustom):
1834         (WebCore::V8InjectedScriptHost::typeMethodCustom):
1835         (WebCore::V8InjectedScriptHost::functionDetailsMethodCustom):
1836         (WebCore::V8InjectedScriptHost::getInternalPropertiesMethodCustom):
1837         (WebCore::V8InjectedScriptHost::getEventListenersMethodCustom):
1838         (WebCore::V8InjectedScriptHost::inspectMethodCustom):
1839         (WebCore::V8InjectedScriptHost::databaseIdMethodCustom):
1840         (WebCore::V8InjectedScriptHost::storageIdMethodCustom):
1841         (WebCore::V8InjectedScriptHost::evaluateMethodCustom):
1842         (WebCore::V8InjectedScriptHost::setFunctionVariableValueMethodCustom):
1843         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
1844         (WebCore::V8InspectorFrontendHost::platformMethodCustom):
1845         (WebCore::V8InspectorFrontendHost::portMethodCustom):
1846         (WebCore::V8InspectorFrontendHost::showContextMenuMethodCustom):
1847         (WebCore::V8InspectorFrontendHost::recordActionTakenMethodCustom):
1848         (WebCore::V8InspectorFrontendHost::recordPanelShownMethodCustom):
1849         (WebCore::V8InspectorFrontendHost::recordSettingChangedMethodCustom):
1850         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
1851         (WebCore::V8JavaScriptCallFrame::evaluateMethodCustom):
1852         (WebCore::V8JavaScriptCallFrame::restartMethodCustom):
1853         (WebCore::V8JavaScriptCallFrame::setVariableValueMethodCustom):
1854         (WebCore::V8JavaScriptCallFrame::scopeTypeMethodCustom):
1855         * bindings/v8/custom/V8LocationCustom.cpp:
1856         (WebCore::V8Location::reloadAttrGetterCustom):
1857         (WebCore::V8Location::replaceAttrGetterCustom):
1858         (WebCore::V8Location::assignAttrGetterCustom):
1859         (WebCore::V8Location::reloadMethodCustom):
1860         (WebCore::V8Location::replaceMethodCustom):
1861         (WebCore::V8Location::assignMethodCustom):
1862         (WebCore::V8Location::valueOfMethodCustom):
1863         (WebCore::V8Location::toStringMethodCustom):
1864         * bindings/v8/custom/V8MessageEventCustom.cpp:
1865         (WebCore::V8MessageEvent::initMessageEventMethodCustom):
1866         (WebCore::V8MessageEvent::webkitInitMessageEventMethodCustom):
1867         * bindings/v8/custom/V8MessagePortCustom.cpp:
1868         (WebCore::V8MessagePort::postMessageMethodCustom):
1869         * bindings/v8/custom/V8NodeCustom.cpp:
1870         (WebCore::V8Node::insertBeforeMethodCustom):
1871         (WebCore::V8Node::replaceChildMethodCustom):
1872         (WebCore::V8Node::removeChildMethodCustom):
1873         (WebCore::V8Node::appendChildMethodCustom):
1874         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
1875         (WebCore::V8NotificationCenter::requestPermissionMethodCustom):
1876         * bindings/v8/custom/V8NotificationCustom.cpp:
1877         (WebCore::V8Notification::requestPermissionMethodCustom):
1878         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
1879         (WebCore::V8SQLResultSetRowList::itemMethodCustom):
1880         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1881         (WebCore::V8SQLTransaction::executeSqlMethodCustom):
1882         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
1883         (WebCore::V8SQLTransactionSync::executeSqlMethodCustom):
1884         * bindings/v8/custom/V8SVGLengthCustom.cpp:
1885         (WebCore::V8SVGLength::convertToSpecifiedUnitsMethodCustom):
1886         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1887         (WebCore::V8WebGLRenderingContext::getAttachedShadersMethodCustom):
1888         (WebCore::V8WebGLRenderingContext::getBufferParameterMethodCustom):
1889         (WebCore::V8WebGLRenderingContext::getExtensionMethodCustom):
1890         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterMethodCustom):
1891         (WebCore::V8WebGLRenderingContext::getParameterMethodCustom):
1892         (WebCore::V8WebGLRenderingContext::getProgramParameterMethodCustom):
1893         (WebCore::V8WebGLRenderingContext::getRenderbufferParameterMethodCustom):
1894         (WebCore::V8WebGLRenderingContext::getShaderParameterMethodCustom):
1895         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsMethodCustom):
1896         (WebCore::V8WebGLRenderingContext::getTexParameterMethodCustom):
1897         (WebCore::V8WebGLRenderingContext::getUniformMethodCustom):
1898         (WebCore::V8WebGLRenderingContext::getVertexAttribMethodCustom):
1899         (WebCore::V8WebGLRenderingContext::uniform1fvMethodCustom):
1900         (WebCore::V8WebGLRenderingContext::uniform1ivMethodCustom):
1901         (WebCore::V8WebGLRenderingContext::uniform2fvMethodCustom):
1902         (WebCore::V8WebGLRenderingContext::uniform2ivMethodCustom):
1903         (WebCore::V8WebGLRenderingContext::uniform3fvMethodCustom):
1904         (WebCore::V8WebGLRenderingContext::uniform3ivMethodCustom):
1905         (WebCore::V8WebGLRenderingContext::uniform4fvMethodCustom):
1906         (WebCore::V8WebGLRenderingContext::uniform4ivMethodCustom):
1907         (WebCore::V8WebGLRenderingContext::uniformMatrix2fvMethodCustom):
1908         (WebCore::V8WebGLRenderingContext::uniformMatrix3fvMethodCustom):
1909         (WebCore::V8WebGLRenderingContext::uniformMatrix4fvMethodCustom):
1910         (WebCore::V8WebGLRenderingContext::vertexAttrib1fvMethodCustom):
1911         (WebCore::V8WebGLRenderingContext::vertexAttrib2fvMethodCustom):
1912         (WebCore::V8WebGLRenderingContext::vertexAttrib3fvMethodCustom):
1913         (WebCore::V8WebGLRenderingContext::vertexAttrib4fvMethodCustom):
1914         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1915         (WebCore::V8WorkerContext::importScriptsMethodCustom):
1916         (WebCore::V8WorkerContext::setTimeoutMethodCustom):
1917         (WebCore::V8WorkerContext::setIntervalMethodCustom):
1918         * bindings/v8/custom/V8WorkerCustom.cpp:
1919         (WebCore::V8Worker::postMessageMethodCustom):
1920         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1921         (WebCore::V8XMLHttpRequest::openMethodCustom):
1922         (WebCore::V8XMLHttpRequest::sendMethodCustom):
1923         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
1924         (WebCore::V8XSLTProcessor::setParameterMethodCustom):
1925         (WebCore::V8XSLTProcessor::getParameterMethodCustom):
1926         (WebCore::V8XSLTProcessor::removeParameterMethodCustom):
1927
1928 2013-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
1929
1930         Scrollbar style resolution arguments should not passed via statics.
1931         https://bugs.webkit.org/show_bug.cgi?id=110690
1932
1933         Use PseudoStyleRequest to pass scrollbar params for style resolve.
1934
1935         Reviewed by Eric Seidel.
1936
1937         No change in functionality, covered by existing tests.
1938
1939         * css/SelectorChecker.cpp:
1940         (WebCore::SelectorChecker::match): Changed to use context params, rather than statics.
1941         (WebCore::SelectorChecker::checkOne): Changed to pass context to checkScrollbarPseudoClass.
1942         (WebCore::SelectorChecker::checkScrollbarPseudoClass): Changed to use context params, rather than statics.
1943         * css/SelectorChecker.h:
1944         (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext): Added scrollbar style args.
1945         (SelectorCheckingContext): Ditto.
1946         * css/StyleResolver.cpp:
1947         (WebCore::StyleResolver::collectMatchingRulesForList): Changed to use PseudoStyleRequest.
1948         (WebCore::StyleResolver::State::initForStyleResolve): Ditto.
1949         (WebCore::StyleResolver::pseudoStyleForElement): Ditto.
1950         (WebCore::StyleResolver::ruleMatches): Ditto and added stuffing scrollbar style resolve args into SelectorCheckingContext.
1951         * css/StyleResolver.h:
1952         (PseudoStyleRequest): Added.
1953         (State): Changed to hold and use PseudoStyleRequest instead of just PseudoId
1954         * dom/Element.cpp:
1955         (WebCore::Element::pseudoStyleCacheIsInvalid): Changed to use PseudoStyleRequest.
1956         * page/FrameView.cpp: Ditto.
1957         (WebCore::FrameView::updateScrollCorner): Ditto.
1958         * rendering/RenderLayer.cpp:
1959         (WebCore::RenderLayer::updateScrollCornerStyle): Ditto.
1960         (WebCore::RenderLayer::updateResizerStyle): Ditto.
1961         * rendering/RenderObject.cpp:
1962         (WebCore::RenderObject::selectionBackgroundColor): Ditto.
1963         (WebCore::RenderObject::selectionColor): Ditto.
1964         (WebCore::firstLineStyleForCachedUncachedType): Ditto.
1965         (WebCore::RenderObject::getCachedPseudoStyle): Ditto.
1966         (WebCore::RenderObject::getUncachedPseudoStyle): Ditto.
1967         * rendering/RenderObject.h:
1968         (RenderObject): Ditto.
1969         * rendering/RenderScrollbar.cpp:
1970         (WebCore::RenderScrollbar::getScrollbarPseudoStyle): Ditto.
1971         * rendering/RenderScrollbar.h:
1972         (RenderScrollbar): Removed static members that are now obsolete.
1973
1974 2013-02-23  Adam Barth  <abarth@webkit.org>
1975
1976         Threaded HTML parser should pass fast/parser/parser-yield-timing.html
1977         https://bugs.webkit.org/show_bug.cgi?id=110647
1978
1979         Reviewed by Eric Seidel.
1980
1981         Previously, the threaded HTML parser would run for an arbitrary amount
1982         of time without yielding after speculation succeeded. This might be the
1983         cause of the good DOMContentLoaded numbers.
1984
1985         Note: This patch also demonstrates that the ParseHTML_max numbers
1986         aren't correct currently because they're measuring the interior of this
1987         loop instead of all the time spent in the loop. We should move the
1988         instrumentation in a followup patch.
1989
1990          * html/parser/HTMLDocumentParser.cpp:
1991         (WebCore::HTMLDocumentParser::resumeParsingAfterYield):
1992         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
1993         (WebCore):
1994         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
1995         * html/parser/HTMLDocumentParser.h:
1996         (HTMLDocumentParser):
1997         * html/parser/HTMLParserScheduler.cpp:
1998
1999 2013-02-23  Martin Robinson  <mrobinson@igalia.com>
2000
2001         [GTK] Allow sharing the WebCore include list with the Chromium build
2002         https://bugs.webkit.org/show_bug.cgi?id=110241
2003
2004         Reviewed by Dirk Pranke.
2005
2006         * WebCore.gyp/WebCore.gyp: Moved shared include directories to
2007         WebCore.gypi.
2008         * WebCore.gyp/WebCoreGTK.gyp: Added. A skeleton gyp file for WebCoreGTK+.
2009         * WebCore.gypi: Added shared include directories.
2010
2011 2013-02-23  Andreas Kling  <akling@apple.com>
2012
2013         StyledElement: Tweak signature of collectStyleForPresentationAttribute().
2014         <http://webkit.org/b/110687>
2015
2016         Reviewed by Antti Koivisto.
2017
2018         Out with the old:
2019             collectStyleForPresentationAttribute(const Attribute&, StylePropertySet*)
2020
2021         In with the new:
2022             collectStyleForPresentationAttribute(const QualifiedName&, const AtomicString&, MutableStylePropertySet*)
2023
2024         This is primarily about switching to using MutableStylePropertySet* in preparation for
2025         removing mutating functions from the StylePropertySet base class.
2026
2027 2013-02-23  Kondapally Kalyan  <kalyan.kondapally@intel.com>
2028
2029         [EFL][WebGL] Refactor GLPlatformSurface.
2030         https://bugs.webkit.org/show_bug.cgi?id=110616
2031
2032         Reviewed by Kenneth Rohde Christiansen.
2033
2034         Covered by existing WebGL tests.
2035  
2036         With recent changes, there is a clear separation between 
2037         transport surface and off-screen surface. PlatformSurface 
2038         has the logic to render content to transport surface. 
2039         We currently rely on EXT_framebuffer_blit for this. This 
2040         extension is not exposed on GLES2.0. PlatformSurface was 
2041         supposed to be an abstraction layer without any knowledge 
2042         of the type of surface. This patch addresses the issues 
2043         in PlatformSurface class. We use shaders to draw texture 
2044         content to the surface. Any transport surface related 
2045         code in PlatformSurface is moved to GLTransportSurface class.
2046
2047         * PlatformEfl.cmake:
2048         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2049         (WebCore::GraphicsContext3DPrivate::didResizeCanvas):
2050         * platform/graphics/surfaces/GLTransportSurface.cpp: Added.
2051         (WebCore):
2052         (WebCore::GLTransportSurface::GLTransportSurface):
2053         (WebCore::GLTransportSurface::~GLTransportSurface):
2054         (WebCore::GLTransportSurface::updateContents):
2055         (WebCore::GLTransportSurface::setGeometry):
2056         (WebCore::GLTransportSurface::destroy):
2057         (WebCore::GLTransportSurface::draw):
2058         (WebCore::GLTransportSurface::bindArrayBuffer):
2059         (WebCore::GLTransportSurface::updateTransformationMatrix):
2060         (WebCore::GLTransportSurface::initializeShaderProgram):
2061         * platform/graphics/surfaces/GLTransportSurface.h:
2062         (WebCore):
2063         (GLTransportSurface):
2064         * platform/graphics/surfaces/egl/EGLSurface.cpp:
2065         (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
2066         (WebCore::EGLWindowTransportSurface::destroy):
2067         (WebCore::EGLWindowTransportSurface::setGeometry):
2068         * platform/graphics/surfaces/egl/EGLSurface.h:
2069         * platform/graphics/surfaces/glx/GLXSurface.cpp:
2070         (WebCore::GLXTransportSurface::GLXTransportSurface):
2071         (WebCore::GLXTransportSurface::setGeometry):
2072         (WebCore::GLXTransportSurface::destroy):
2073         (WebCore::GLXOffScreenSurface::freeResources):
2074         * platform/graphics/surfaces/glx/GLXSurface.h:
2075
2076 2013-02-23  Hajime Morrita  <morrita@google.com>
2077
2078         ShadowRoot needs guardRef() and guardDeref()
2079         https://bugs.webkit.org/show_bug.cgi?id=109777
2080
2081         Reviewed by Dimitri Glazkov.
2082
2083         This change moves m_guardRefCount from Document to TreeScope,
2084         which allows ShadowRoot to be guarded by guardRef() mechanism as
2085         Document. After r137524, Node referes TreeScope instead of
2086         Document. This is natural consequence of the change: It no longer
2087         makes sense to guardRef() Document pointer from Node.
2088
2089         Detail:
2090
2091         - Document::m_guardRefCount and related funcdtions are moved to TreeScope
2092         - Document::removedLastRef is factored out into TreeScope::removedLastRefToScope(),
2093           TreeScope::dispose() and Docuent::dispose(). ShadowRoot also got its own dispose() implementation.
2094         - Moved guardRef() and guardDeref() calls to TreeScope and Node.
2095           Note that there are two "guarded" TreeScope references. One is
2096           Node::m_treeScope and another is TreeScope::m_parentTreeScope.
2097           The guarded-ref management is now encapsulated in these two classes.
2098
2099         No new tests. Covered by existing tests.
2100
2101         * WebCore.exp.in:
2102         * dom/Document.cpp:
2103         (WebCore::Document::Document):
2104         (WebCore::Document::~Document):
2105         (WebCore::Document::dispose): Extracted from removedLastRef()
2106         * dom/Document.h:
2107         (WebCore::Node::isTreeScope):
2108         (WebCore::Node::Node):
2109         * dom/DocumentFragment.cpp:
2110         (WebCore::DocumentFragment::DocumentFragment): Remove ASSERT() and move it to ...
2111         (WebCore::DocumentFragment::create): ... here, to allow NULL document from ShadowRoot.
2112         * dom/Node.cpp:
2113         (WebCore::Node::~Node):
2114         (WebCore::Node::removedLastRef):
2115         * dom/Node.h:
2116         (WebCore::Node::setTreeScope):
2117         * dom/ShadowRoot.cpp:
2118         (WebCore::ShadowRoot::ShadowRoot): Passed NULL document to superclass. This aligns what Document is doing.
2119         (WebCore::ShadowRoot::dispose): Added.
2120         * dom/ShadowRoot.h:
2121         (ShadowRoot):
2122         * dom/TreeScope.cpp:
2123         (SameSizeAsTreeScope):
2124         (WebCore::TreeScope::TreeScope):
2125         (WebCore::TreeScope::~TreeScope):
2126         (WebCore::TreeScope::dispose): Added.
2127         (WebCore::TreeScope::setParentTreeScope):
2128         (WebCore::TreeScope::deletionHasBegun):
2129         (WebCore::TreeScope::beginDeletion):
2130         (WebCore::TreeScope::refCount): Added.
2131         * dom/TreeScope.h: Turned m_rootNode to Node* from ContainerNode* for Node::isTreeScope to be inlined.
2132         (WebCore::TreeScope::guardRef): Pulled up from Document.
2133         (WebCore::TreeScope::guardDeref): Ditto.
2134         (WebCore::TreeScope::hasGuardRefCount): Added to hide m_guardRefCount.
2135         (WebCore::TreeScope::deletionHasBegun): Added.
2136         (WebCore::TreeScope::beginDeletion): Added.
2137         (WebCore::TreeScope::removedLastRefToScope): Pulled up from Document.
2138         * dom/TreeScopeAdopter.cpp:
2139         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2140         (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
2141
2142 2013-02-23  Alexey Proskuryakov  <ap@apple.com>
2143
2144         Don't include ResourceHandle.h in ResourceLoaderOptions.h
2145         https://bugs.webkit.org/show_bug.cgi?id=110662
2146
2147         Reviewed by Tim Horton.
2148
2149         * loader/ResourceLoaderOptions.h: Include ResourceHandleTypes.h instead.
2150
2151 2013-02-23  Jason Anderssen  <janderssen@gmail.com>
2152
2153         Move setAutofilled from TestRunner to WebCore
2154         https://bugs.webkit.org/show_bug.cgi?id=110521
2155
2156         Reviewed by Benjamin Poulain.
2157
2158         * testing/Internals.cpp:
2159         (WebCore):
2160         (WebCore::Internals::setAutofilled):
2161         * testing/Internals.h:
2162         (Internals):
2163         * testing/Internals.idl:
2164
2165 2013-02-22  Andreas Kling  <akling@apple.com>
2166
2167         Attr: Simplify modification callbacks.
2168         <http://webkit.org/b/110598>
2169
2170         Reviewed by Antti Koivisto.
2171
2172         Instead of Attr being a friend of Element and grabbing at various internal storage and callbacks,
2173         let Attr simply call Element::setAttribute() when its value is changed, and do all that business
2174         from Element.
2175
2176         * dom/Element.h:
2177         * dom/Element.cpp:
2178         (WebCore::Element::setAttributeInternal):
2179
2180             Call Attr::recreateTextChildAfterAttributeValueChanged() after modifying an attribute value instead
2181             of doing the modification through the Attr node.
2182
2183         * dom/Attr.h:
2184         * dom/Attr.cpp:
2185         (WebCore::Attr::Attr):
2186         (WebCore::Attr::childrenChanged):
2187
2188             Added an m_inChildrenChanged flag so we can prevent infinite callback recursion in childrenChanged().
2189
2190         (WebCore::Attr::setValue):
2191
2192             Call Element::setAttribute() instead of modifying the attribute storage directly.
2193
2194         (WebCore::Attr::recreateTextChildAfterAttributeValueChanged):
2195
2196             Factored out the "remove all children / create a new text child with attribute value" logic into
2197             a separate function.
2198
2199 2013-02-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2200
2201         [EFL] Use EINA_LOG instead of fprintf 
2202         https://bugs.webkit.org/show_bug.cgi?id=110313
2203
2204         Reviewed by Laszlo Gombos.
2205
2206         Replace fprintf with EINA_LOG.
2207
2208         * platform/efl/NetworkInfoProviderEfl.cpp:
2209         (WebCore::NetworkInfoProviderEfl::startUpdating):
2210         * platform/graphics/efl/CairoUtilitiesEfl.cpp:
2211         (WebCore::evasObjectFromCairoImageSurface):
2212
2213 2013-02-22  Tony Gentilcore  <tonyg@chromium.org>
2214
2215         Threaded HTML parser fails resources/plain-text-unsafe.dat
2216         https://bugs.webkit.org/show_bug.cgi?id=110538
2217
2218         Reviewed by Eric Seidel.
2219
2220         With this patch, the background HTML parser passes all tests in plain-text-unsafe.dat.
2221
2222         No new tests because covered by existing tests.
2223
2224         * html/parser/BackgroundHTMLParser.cpp:
2225         (WebCore::tokenExitsSVG):
2226         (WebCore):
2227         (WebCore::tokenExitsMath):
2228         (WebCore::BackgroundHTMLParser::simulateTreeBuilder):
2229
2230 2013-02-22  Tony Gentilcore  <tonyg@chromium.org>
2231
2232         Correct InspectorInstrumentation for background HTML parser
2233         https://bugs.webkit.org/show_bug.cgi?id=110678
2234
2235         Reviewed by Adam Barth.
2236
2237         resumeParsingAfterScriptExecution potentially calls processParsedChunkFromBackgroundParser multiple times
2238         without yielding. So it is not correct to count each of those as a separate ParseHTML event.
2239
2240         This patch moves the instrumentation outside of the loop.
2241
2242         No new tests because no new functionality.
2243
2244         * html/parser/HTMLDocumentParser.cpp:
2245         (WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
2246         (WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
2247         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
2248
2249 2013-02-22  Aaron Colwell  <acolwell@chromium.org>
2250
2251         Factor MediaSource methods out of MediaPlayer & MediaPlayerPrivate and into a new MediaSourcePrivate interface.
2252         https://bugs.webkit.org/show_bug.cgi?id=109857
2253
2254         Reviewed by Adam Barth.
2255
2256         This is a simple refactor that moves MediaSource related methods out of MediaPlayer & MediaPlayerPrivate
2257         so that the MediaSource implementation can be updated without further polluting these interfaces.
2258         MediaSourcePrivate is the new WebCore interface that ports must implement to support the MediaSource API.
2259
2260         No new tests. No user visible behavior has changed.
2261
2262         * Modules/mediasource/MediaSource.cpp:
2263         (WebCore::MediaSource::MediaSource):
2264         (WebCore::MediaSource::duration):
2265         (WebCore::MediaSource::setDuration):
2266         (WebCore::MediaSource::addSourceBuffer):
2267         (WebCore::MediaSource::removeSourceBuffer):
2268         (WebCore::MediaSource::setReadyState):
2269         (WebCore::MediaSource::endOfStream):
2270         (WebCore::MediaSource::buffered):
2271         (WebCore::MediaSource::append):
2272         (WebCore::MediaSource::abort):
2273         (WebCore::MediaSource::setTimestampOffset):
2274         (WebCore::MediaSource::setPrivateAndOpen):
2275         (WebCore):
2276         (WebCore::MediaSource::hasPendingActivity):
2277         (WebCore::MediaSource::stop):
2278         * Modules/mediasource/MediaSource.h:
2279         (MediaSource):
2280         * html/HTMLMediaElement.cpp:
2281         (WebCore::HTMLMediaElement::HTMLMediaElement):
2282         (WebCore::HTMLMediaElement::loadResource):
2283         (WebCore::HTMLMediaElement::createMediaPlayer):
2284         (WebCore::HTMLMediaElement::reportMemoryUsage):
2285         * html/HTMLMediaElement.h:
2286         (HTMLMediaElement):
2287         * platform/graphics/MediaPlayer.cpp:
2288         (NullMediaPlayerPrivate):
2289         (WebCore::NullMediaPlayerPrivate::load):
2290         (WebCore::MediaPlayer::load):
2291         (WebCore):
2292         (WebCore::MediaPlayer::loadWithNextMediaEngine):
2293         * platform/graphics/MediaPlayer.h:
2294         (WebCore):
2295         (MediaPlayerClient):
2296         (MediaPlayer):
2297         * platform/graphics/MediaPlayerPrivate.h:
2298         (MediaPlayerPrivateInterface):
2299         * platform/graphics/MediaSourcePrivate.h: Added.
2300         (WebCore):
2301         (MediaSourcePrivate): Contains the MediaSource methods extracted from MediaPlayer.
2302         (WebCore::MediaSourcePrivate::MediaSourcePrivate):
2303         (WebCore::MediaSourcePrivate::~MediaSourcePrivate):
2304
2305 2013-02-22  Beth Dakin  <bdakin@apple.com>
2306
2307         RenderLayer::scrollTo() should call FrameLoaderClient::didChangeScrollOffset()
2308         https://bugs.webkit.org/show_bug.cgi?id=110673
2309         -and corresponding-
2310         <rdar://problem/13258596>
2311
2312         Reviewed by Sam Weinig.
2313
2314         FrameLoaderClient::didChangeScrollOffset() doesn't get called for web pages that
2315         have overflow on the body. We can easily address this by calling it at the 
2316         end of RenderLayer::scrollTo().
2317
2318         * rendering/RenderLayer.cpp:
2319         (WebCore::RenderLayer::scrollTo):
2320
2321 2013-02-22  Ryosuke Niwa  <rniwa@webkit.org>
2322
2323         WebKit can erroneously strip font-size CSS property from font element with size attribute
2324         https://bugs.webkit.org/show_bug.cgi?id=110657
2325
2326         Reviewed by Justin Garcia.
2327
2328         The bug was caused by ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline
2329         erroneously removing style attributes even on an element such as font that implicitly adds
2330         editing style.
2331
2332         Fixed the bug by removing these elements or attributes when they conflict with the inline
2333         style of the element. This is always safe because implicit style of an element is always
2334         overridden by that of inline style.
2335
2336         Note that when the font element becomes "empty" (i.e. doesn't have any attributes), then
2337         we also want to delete this font element as it doesn't contribute anything to the style.
2338
2339         Test: editing/pasteboard/insert-u-with-text-decoration-none.html
2340               editing/pasteboard/insert-font-with-size-and-css.html
2341
2342         * editing/ApplyStyleCommand.cpp:
2343         (WebCore::isEmptyFontTag): Added ShouldStyleAttributeBeEmpty as an argument. This will
2344         allow removeRedundantStylesAndKeepStyleSpanInline to ignore style attribute when we know
2345         the attribute can be removed.
2346
2347         * editing/ApplyStyleCommand.h: Expose isEmptyFontTag and ShouldStyleAttributeBeEmpty.
2348
2349         * editing/ReplaceSelectionCommand.cpp:
2350         (WebCore::ReplaceSelectionCommand::InsertedNodes::didReplaceNode): Added.
2351         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): See above.
2352         * editing/ReplaceSelectionCommand.h:
2353         (InsertedNodes): Added a declaration of didReplaceNode.
2354
2355 2013-02-22  Laszlo Gombos  <l.gombos@samsung.com>
2356
2357         Remove unused make variable from DerivedSources.make
2358         https://bugs.webkit.org/show_bug.cgi?id=110306
2359
2360         Reviewed by Alexey Proskuryakov.
2361
2362         r107026 removed the last piece of logic that was guarded with
2363         ENABLE_DASHBOARD_SUPPORT, so now it can be removed from
2364         DerivedSources.make. 
2365
2366         Also combined the way ENABLE_ORIENTATION_EVENTS is set to 0
2367         to make it more readable.
2368
2369         No new tests, no new functionality.
2370
2371         * DerivedSources.make:
2372
2373 2013-02-22  Dimitri Glazkov  <dglazkov@chromium.org>
2374
2375         REGRESSION(r130089): Scrollbar thumb no longer re-rendered on hover
2376         https://bugs.webkit.org/show_bug.cgi?id=109230
2377
2378         In r130089, I accidentally removed the extra check that made scrollbar
2379         parts styles sad. I put it back and made them happy.
2380
2381         Reviewed by Eric Seidel.
2382
2383         Test: fast/css/pseudo-element-selector-scrollbar-hover.html
2384
2385         * css/SelectorChecker.cpp:
2386         (WebCore::SelectorChecker::match): Added the check back.
2387
2388 2013-02-22  Tim Horton  <timothy_horton@apple.com>
2389
2390         [WK2] The root and page overlay layers should be the size of the view, not the content
2391         https://bugs.webkit.org/show_bug.cgi?id=110660
2392         <rdar://problem/13096456>
2393
2394         Reviewed by Simon Fraser.
2395
2396         * WebCore.exp.in:
2397
2398 2013-02-22  Anders Carlsson  <andersca@apple.com>
2399
2400         pluginLoadStrategy should take a WKDictionaryRef for extensibility
2401         https://bugs.webkit.org/show_bug.cgi?id=110656
2402         <rdar://problem/13265303>
2403
2404         Reviewed by Jessie Berlin.
2405
2406         Export a symbol needed by WebKit2.
2407
2408         * WebCore.exp.in:
2409
2410 2013-02-22  Levi Weintraub  <leviw@chromium.org>
2411
2412         Add descriptive names for different addMidpoint use cases
2413         https://bugs.webkit.org/show_bug.cgi?id=110644
2414
2415         Reviewed by Ryosuke Niwa.
2416
2417         Midpoints are used to delineate ranges where we don't add line boxes for contents (collapsed spaces),
2418         and to explicitly split a RenderText into multiple text runs so that text paragraph seperators get
2419         their own line boxes. This patch encapsulates the different cases where midpoints are added to
2420         lineMidpointState into 4 helper functions to make it clearer what's going on in each case.
2421
2422         No new tests. No change in functionality.
2423
2424         * rendering/RenderBlockLineLayout.cpp:
2425         (WebCore::deprecatedAddMidpoint): Original function simply adds a midpoint to the lineMidpointState.
2426         Renaming to deprecated to discourage callers.
2427         (WebCore::startIgnoringSpaces): Adds a midpoint to start collapsing subsequent spaces. Asserts that
2428         we have an even number of midpoints.
2429         (WebCore::stopIgnoringSpaces): Adds the corresponding midpoint from startIgnoringSpaces and asserts
2430         that it's an odd number.
2431         (WebCore::ensureLineBoxInsideIgnoredSpaces): When ignoring spaces and we come across a RenderInline
2432         that needs a line box, this function adds a pair of midpoints which ensures we'll later add a line
2433         box for it.
2434         (WebCore::ensureCharacterGetsLineBox): Adds a pair of midpoints in a text renderer to mark that
2435         the current character needs its own line box. This is used by svg for absolutely positioned
2436         characters, or for text paragraph seperators.
2437
2438 2013-02-22  Justin Schuh  <jschuh@chromium.org>
2439
2440         RenderArena masking has low entropy
2441         https://bugs.webkit.org/show_bug.cgi?id=110394
2442
2443         Reviewed by Oliver Hunt.
2444
2445         No new tests. This is a hardening measure.
2446
2447         * rendering/RenderArena.cpp:
2448         (WebCore::RenderArena::RenderArena):
2449
2450 2013-02-22  Min Qin  <qinmin@chromium.org>
2451
2452         Fix the overlay play button position on android
2453         https://bugs.webkit.org/show_bug.cgi?id=110638
2454
2455         Reviewed by Ojan Vafai.
2456
2457         Because we are using flex box, specifying the height is not necessary.
2458         Setting height to 100% will make the enclosure go outside the control panel.
2459         There are no media layout test expecations for android, will do that in another patch.
2460
2461         * css/mediaControlsChromiumAndroid.css:
2462         (video::-webkit-media-controls-overlay-enclosure):
2463
2464 2013-02-22  Kentaro Hara  <haraken@chromium.org>
2465
2466         Unreviewed build fix. Added missing #if PLATFORM(CHROMIUM).
2467
2468         * dom/Document.cpp:
2469         (WebCore::Document::recalcStyle):
2470         * page/FrameView.cpp:
2471         (WebCore::FrameView::layout):
2472
2473 2013-02-22  Kentaro Hara  <haraken@chromium.org>
2474
2475         Document::styleRecalc() and FrameView::layout() should be traced
2476         https://bugs.webkit.org/show_bug.cgi?id=110646
2477
2478         Reviewed by Ojan Vafai.
2479
2480         Document::styleRecalc() and FrameView::layout() are key factors
2481         for web page rendering performance. We should add TRACE_EVENT()
2482         macros to these functions.
2483
2484         * dom/Document.cpp:
2485         (WebCore::Document::recalcStyle):
2486         * page/FrameView.cpp:
2487         (WebCore::FrameView::layout):
2488
2489 2013-02-22  Eric Seidel  <eric@webkit.org>
2490
2491         Teach the html5lib tests how to test the threaded HTML parser
2492         https://bugs.webkit.org/show_bug.cgi?id=110643
2493
2494         Reviewed by Adam Barth.
2495
2496         This adds a way to force data: url parsing to go through
2497         the threaded parser, to enable us to test the threaded parser
2498         using the html5lib test harness.
2499
2500         * html/parser/HTMLParserOptions.cpp:
2501         (WebCore::HTMLParserOptions::HTMLParserOptions):
2502         * page/Settings.in:
2503
2504 2013-02-21  Ojan Vafai  <ojan@chromium.org>
2505
2506         Increase the max preferred width of tables to 1000000
2507         https://bugs.webkit.org/show_bug.cgi?id=110545
2508
2509         Reviewed by Emil A Eklund.
2510
2511         Test: fast/table/large-shrink-wrapped-width.html
2512
2513         The old limit of 15000 was picked arbitrarily to avoid overflow.
2514         No need to pick such a small number.
2515
2516         * rendering/AutoTableLayout.cpp:
2517         (WebCore::AutoTableLayout::computeInstrinsicLogicalWidths):
2518         As best I can tell, this code is just wrong. Removing this makes the
2519         new test pass and doesn't cause any test failure. While we have many
2520         tests that hit this codepath, this code would only
2521         show a difference in the cases where the available container width is
2522         greater then 15000, and I don't think we have any tests that hit that case
2523         other than this new one.
2524         * rendering/TableLayout.h:
2525
2526 2013-02-22  Adam Barth  <abarth@webkit.org>
2527
2528         Threaded HTML parser should pass fast/parser/iframe-sets-parent-to-javascript-url.html
2529         https://bugs.webkit.org/show_bug.cgi?id=110637
2530
2531         Reviewed by Eric Seidel.
2532
2533         With the main thread parser, we always parse the first chunk of content
2534         returned as the result of evaluating a JavaScript URL synchronously. In
2535         particular, if the first chunk has an inline script, we'll execute it
2536         synchronously.
2537
2538         Previous to this patch, the threaded parser would always parse this
2539         content asynchronously. It's conceivable that there could be some
2540         content relying on the synchronous behavior, so this patch introduces
2541         the notion of "pinning" a parser to the main thread and uses that
2542         concept to force the result of JavaScript URLs to be parsed on the main
2543         thread (which is probably desirable anyway because they're likely to be
2544         quite short).
2545
2546         This patch fixes fast/parser/iframe-sets-parent-to-javascript-url.html
2547         and fast/dom/javascript-url-crash-function.html with the threaded
2548         parser with --enable-threaded-html-parser.
2549
2550         * dom/DocumentParser.h:
2551         (WebCore::DocumentParser::pinToMainThread):
2552         (DocumentParser):
2553         * html/parser/HTMLDocumentParser.cpp:
2554         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2555         (WebCore):
2556         (WebCore::HTMLDocumentParser::pinToMainThread):
2557         * html/parser/HTMLDocumentParser.h:
2558         (HTMLDocumentParser):
2559         (WebCore::HTMLDocumentParser::shouldUseThreading):
2560         * loader/DocumentWriter.cpp:
2561         (WebCore::DocumentWriter::replaceDocument):
2562
2563 2013-02-22  Joe Mason  <jmason@rim.com>
2564
2565         [BlackBerry] Reread cookies when retrying a request with new auth credentials
2566         https://bugs.webkit.org/show_bug.cgi?id=110628
2567
2568         Reviewed by George Staikos.
2569
2570         Internal PR: 298805
2571         Internally Reviewed By: Leo Yang
2572
2573         The "isRedirect" parameter of initializePlatformRequest is only used to decide whether to
2574         reread cookies. Since we must reread cookies when resending a request with new auth
2575         credentials as well, rename this to "rereadCookies".
2576
2577         The only caller which sets this parameter rather than using the default value is
2578         NetworkManager::startJob, which also has other processing on redirect. So add a new
2579         "rereadCookies" parameter to startJob and ensure it is always set to true on a redirect, but
2580         can also be set to true on a non-redirect. And when startJob is called due to new auth
2581         credentials, set it to true.
2582
2583         * platform/network/blackberry/NetworkJob.cpp:
2584         (WebCore::NetworkJob::startNewJobWithRequest): Add rereadCookies parameter, pass it to
2585         startJob.
2586         (WebCore::NetworkJob::handleRedirect): Set new rereadCookies param of startNewJob to true.
2587         (WebCore::NetworkJob::notifyChallengeResult): Set new rereadCookies param of startNewJob to
2588         true.
2589         * platform/network/blackberry/NetworkJob.h:
2590         (NetworkJob): Add rereadCookies parameter to startNewJobWithRequest.
2591         * platform/network/blackberry/NetworkManager.cpp:
2592         (WebCore::NetworkManager::startJob): Add rereadCookies parameter, pass it instead of
2593         redirectCount to initializePlatformRequest.
2594         * platform/network/blackberry/NetworkManager.h:
2595         (NetworkManager): Add rereadCookies parameter to startJob.
2596         * platform/network/blackberry/ResourceRequest.h:
2597         (ResourceRequest): Rename isRedirect parameter to rereadCookies.
2598         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
2599         (WebCore::ResourceRequest::initializePlatformRequest): Rename isRedirect to rereadCookies.
2600
2601 2013-02-22  Benjamin Poulain  <bpoulain@apple.com>
2602
2603         Use CFNotificationCenter instead of NSNotificationCenter for SharedTimerIOS
2604         https://bugs.webkit.org/show_bug.cgi?id=110544
2605
2606         Reviewed by Daniel Bates.
2607
2608         Previously, we were instantiating the Obj-C object WebCoreResumeNotifierIOS
2609         with the only purpose of forwarding one notification to a C function.
2610
2611         This patch updates the code to use CFNotificationCenter to dispatch the notification
2612         without the intermediary object.
2613
2614         * platform/ios/SharedTimerIOS.mm:
2615         (WebCore::applicationDidBecomeActive):
2616         (WebCore::setSharedTimerFireInterval):
2617
2618 2013-02-22  Kenneth Russell  <kbr@google.com>
2619
2620         Uint8ClampedArray constructor is wrong in WorkerContext.idl
2621         https://bugs.webkit.org/show_bug.cgi?id=110634
2622
2623         Reviewed by Adam Barth.
2624
2625         Tests: fast/canvas/webgl/typed-arrays-in-workers.html
2626                webgl/conformance/typedarrays/typed-arrays-in-workers.html
2627
2628         * workers/WorkerContext.idl:
2629
2630 2013-02-21  Mark Lam  <mark.lam@apple.com>
2631
2632         Add some checks to DatabaseTracker::getMaxSizeForDatabase() to ensure
2633         that it returns a sane value.
2634         https://bugs.webkit.org/show_bug.cgi?id=110557.
2635
2636         Reviewed by Geoffrey Garen.
2637
2638         No layout test, but there is a quota-test.html attached to bugzilla.
2639         The test is a webpage that can be loaded into multiple tabs to
2640         consuming storage space. Once the test webpages are loaded, you will
2641         need to monitor the database directory and its files to confirm that
2642         growth is bounded. Also try reloading the test in the tabs. At no
2643         time should any database file ever exceed the quota.
2644
2645         * Modules/webdatabase/DatabaseTracker.cpp:
2646         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
2647
2648 2013-02-22  James Simonsen  <simonjam@chromium.org>
2649
2650         Preloads should be cleared when JavaScript cancels loading prematurely.
2651         https://bugs.webkit.org/show_bug.cgi?id=110388
2652
2653         Reviewed by Antti Koivisto.
2654
2655         If a page preloads a resource, but JavaScript aborts parsing for any reason (for example, a
2656         redirect or document.write()), the resource is forever marked a preload and won't be reloaded
2657         even if it's explicitly marked no-cache and the page is reloaded.
2658
2659         Test: http/tests/cache/preload-cleared-after-parrsing-canceled-by-js.html
2660
2661         * dom/Document.cpp:
2662         (WebCore::Document::implicitClose):
2663         (WebCore::Document::finishedParsing):
2664
2665 2013-02-22  Antoine Quint  <graouts@apple.com>
2666
2667         Expose a list of all reasons that qualify a RenderLayer to be composited
2668         https://bugs.webkit.org/show_bug.cgi?id=110505
2669
2670         Expose the various reasons that can qualify a RenderLayer to be composited
2671         via a new bitmask returned by the reasonForCompositing() method on
2672         RenderLayerCompositor. This method already existed and was used for logging
2673         purposes, but the previous functionality is now accessed via the
2674         logReasonForCompositing() method.
2675
2676         This will allow the the InspectorLayerTreeAgent to provide this information
2677         to the front-end on a per-layer basis as requested by the front-end.
2678
2679         Reviewed by Simon Fraser.
2680
2681         No new tests.
2682
2683         * rendering/RenderLayerCompositor.cpp:
2684         (WebCore::RenderLayerCompositor::logLayerInfo):
2685         (WebCore::RenderLayerCompositor::reasonsForCompositing):
2686         (WebCore):
2687         (WebCore::RenderLayerCompositor::logReasonsForCompositing):
2688         * rendering/RenderLayerCompositor.h:
2689         (RenderLayerCompositor):
2690
2691 2013-02-22  Beth Dakin  <bdakin@apple.com>
2692
2693         ScrollingStateTree::rootStateNode() should be null-checked since it can be null
2694         https://bugs.webkit.org/show_bug.cgi?id=110631
2695
2696         Reviewed by Simon Fraser.
2697
2698         This is a speculative fix for <rdar://problem/13233090> and 
2699         <rdar://problem/12519348>. It is totally possible for rootStateNode() to be null, 
2700         so we should null-check it.
2701
2702         * page/scrolling/mac/ScrollingCoordinatorMac.mm:
2703         (WebCore::ScrollingCoordinatorMac::setShouldUpdateScrollLayerPositionOnMainThread):
2704         (WebCore::ScrollingCoordinatorMac::syncChildPositions):
2705
2706 2013-02-22  Mike Reed  <reed@google.com>
2707
2708         Check for null-device when calling createCompatibleDevice
2709         https://bugs.webkit.org/show_bug.cgi?id=107981
2710
2711         Reviewed by James Robinson.
2712
2713         No new tests. Current tests provided coverage. Site in the wild triggered the failure
2714         (cairo failed to allocate a huge surface).
2715
2716         * platform/graphics/skia/ImageBufferSkia.cpp:
2717         (WebCore::ImageBuffer::ImageBuffer):
2718
2719 2013-02-22  Chris Rogers  <crogers@google.com>
2720
2721         AudioDestination::create() needs extra device identification information for live/local input streams
2722         https://bugs.webkit.org/show_bug.cgi?id=109494
2723
2724         Reviewed by James Robinson.
2725
2726         AudioDestination::create() supports live/local audio input.  But, since there may be multiple
2727         audio input devices available, an identifier for the requested input device needs to be
2728         passed in.  The embedder may then use this information so that the proper audio hardware is
2729         accessed.
2730
2731         * Modules/webaudio/AudioContext.cpp:
2732         (WebCore::AudioContext::createMediaStreamSource):
2733         * Modules/webaudio/AudioDestinationNode.h:
2734         (AudioDestinationNode):
2735         * Modules/webaudio/DefaultAudioDestinationNode.cpp:
2736         (WebCore::DefaultAudioDestinationNode::initialize):
2737         (WebCore::DefaultAudioDestinationNode::createDestination):
2738         (WebCore::DefaultAudioDestinationNode::enableInput):
2739         * Modules/webaudio/DefaultAudioDestinationNode.h:
2740         (DefaultAudioDestinationNode):
2741         * Modules/webaudio/OfflineAudioDestinationNode.h:
2742         * platform/audio/AudioDestination.h:
2743         (AudioDestination):
2744         * platform/audio/chromium/AudioDestinationChromium.cpp:
2745         (WebCore::AudioDestination::create):
2746         (WebCore::AudioDestinationChromium::AudioDestinationChromium):
2747         * platform/audio/chromium/AudioDestinationChromium.h:
2748         (AudioDestinationChromium):
2749         * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
2750         (WebCore::AudioDestination::create):
2751         * platform/audio/mac/AudioDestinationMac.cpp:
2752         (WebCore::AudioDestination::create):
2753         * platform/chromium/support/WebMediaStreamSource.cpp:
2754         (WebKit::WebMediaStreamSource::deviceId):
2755         (WebKit):
2756         (WebKit::WebMediaStreamSource::setDeviceId):
2757         * platform/mediastream/MediaStreamSource.h:
2758         (WebCore::MediaStreamSource::deviceId):
2759         (WebCore::MediaStreamSource::setDeviceId):
2760         (MediaStreamSource):
2761
2762 2013-02-22  Ryosuke Niwa  <rniwa@webkit.org>
2763
2764         Binding tests rebaseline after r143737.
2765
2766         * bindings/scripts/test/V8/V8Float64Array.cpp:
2767         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2768         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
2769         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
2770         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2771         * bindings/scripts/test/V8/V8TestException.cpp:
2772         * bindings/scripts/test/V8/V8TestInterface.cpp:
2773         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2774         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2775         * bindings/scripts/test/V8/V8TestNode.cpp:
2776         * bindings/scripts/test/V8/V8TestObj.cpp:
2777         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
2778         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2779         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
2780
2781 2013-02-22  Kunihiko Sakamoto  <ksakamoto@chromium.org>
2782
2783         INPUT_MULTIPLE_FIELDS_UI: Unable to enter "24" to hour field
2784         https://bugs.webkit.org/show_bug.cgi?id=110431
2785
2786         Reviewed by Kent Tamura.
2787
2788         Fixed a bug that hour-field does not accept "24" as a valid input when hour format is 1-24.
2789         To test <input> against different time formats, added "pattern" attribute to DateTimeEditElement.
2790
2791         Test: fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer.html
2792
2793         * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
2794         (WebCore::BaseMultipleFieldsDateAndTimeInputType::updateInnerTextValue): Overwrites layoutParameters.dateTimeFormat by pattern attribute of DateTimeEditElement (if exists).
2795         * html/shadow/DateTimeFieldElements.cpp:
2796         (WebCore::DateTimeHourFieldElement::populateDateTimeFieldsState): Fixed a bug where AM/PM value was passed to setHour().
2797         (WebCore::DateTimeHourFieldElement::setValueAsInteger): Clamps the given value to 0-24 when the range of the field is 1-12 or 1-24. Renamed the parameter as it may not be an hour23 value (0-23).
2798
2799 2013-02-21  Zoltan Horvath  <zoltan@webkit.org>
2800
2801         [CSS Regions] Region boxes should respect -shape-inside CSS property
2802         https://bugs.webkit.org/show_bug.cgi?id=107880
2803
2804         Reviewed by David Hyatt.
2805
2806         The shape-inside CSS property modifies the shape of the inner inline flow content from rectangular content box
2807         to an arbitrary geometry. The detailed documentation is located in the CSS-Exclusions specification:
2808         http://dev.w3.org/csswg/css3-exclusions/#shape-inside-property. This change adds support for the shape-inside property
2809         on CSS Regions.
2810
2811         Test: fast/regions/shape-inside-on-regions.html
2812
2813         * rendering/ExclusionShapeInfo.cpp:
2814         (WebCore):
2815         (WebCore::::logicalTopOffset): Shape dimension should be relative to the current region.
2816         * rendering/ExclusionShapeInfo.h:
2817         (ExclusionShapeInfo):
2818         (WebCore::::logicalTopOffset): Move the implementation to ExclusionShapeInfo.cpp.
2819         * rendering/RenderBlockLineLayout.cpp:
2820         (WebCore::logicalHeightForLine): Move the function prior to layoutExclusionShapeInsideInfo, since we need to use it there.
2821         (WebCore):
2822         (WebCore::layoutExclusionShapeInsideInfo): Add support for cases when shape-inside is a region-block property.
2823         (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Update the exclusion shape information for every line, since the content
2824         could flow through several region containers which can have different shape-inside properties.
2825
2826 2013-02-21  Ojan Vafai  <ojan@chromium.org>
2827
2828         Add computeInstrinsicLogicalWidths functions to TableLayout subclasses
2829         https://bugs.webkit.org/show_bug.cgi?id=110520
2830
2831         Reviewed by Tony Chang.
2832
2833         This is just a refactor in preparation for adding RenderTable::computeIntinsicLogicalWidths.
2834         No change in behavior.
2835
2836         Split the computePreferredLogicalWidths functions into a computeIntinsicLogicalWidths
2837         and a applyPreferredLogicalWidthQuirks. Also, move the addition of bordersPaddingAndSpacing
2838         into RenderTable since both TableLayout subclasses need this.
2839
2840         This has the added readability benefit of better isolating the quirks that each table layout
2841         mode requires.
2842
2843         * rendering/AutoTableLayout.cpp:
2844         (WebCore::AutoTableLayout::computeIntrinsicLogicalWidths):
2845         (WebCore::AutoTableLayout::applyPreferredLogicalWidthQuirks):
2846         * rendering/AutoTableLayout.h:
2847         (AutoTableLayout):
2848         * rendering/FixedTableLayout.cpp:
2849         (WebCore::FixedTableLayout::computeIntrinsicLogicalWidths):
2850         (WebCore::FixedTableLayout::applyPreferredLogicalWidthQuirks):
2851         * rendering/FixedTableLayout.h:
2852         (FixedTableLayout):
2853         * rendering/RenderTable.cpp:
2854         (WebCore::RenderTable::computePreferredLogicalWidths):
2855         * rendering/TableLayout.h:
2856         (TableLayout):
2857
2858 2013-02-22  David Hyatt  <hyatt@apple.com>
2859
2860         [New Multicolumn] Correctly track whether or not a layer is paginated.
2861         https://bugs.webkit.org/show_bug.cgi?id=110625.
2862
2863         Taking the first step towards implementing the correct spec-compliant painting
2864         model for the new multi-column layout. Add code to make sure the paginated
2865         bits in RenderLayer get propagated correctly for the new layout.
2866         
2867         The main difference in bit propagation between the old multicolumn layout and
2868         the new multicolumn layout is that the old layout only tracked pagination "roots",
2869         since it has a broken layer painting model. It incorrectly treats a pagination
2870         "root" inside a multi-column block as establishing a stacking context in each
2871         column. This is incorrect.
2872         
2873         The new multicolumn code is going to paint each paginated layer individually,
2874         and this means the bits can't just be about roots. Instead they have to be set
2875         on every layer that may be split across columns, without regard for whether parent
2876         layers are also split or not. This is actually a simpler bit propagation model
2877         than the old code.
2878
2879         Reviewed by Beth Dakin.
2880
2881         * rendering/RenderLayer.cpp:
2882         (WebCore::RenderLayer::updateLayerPositions):
2883         Add code to set the m_isPaginated bit for in-flow RenderFlowThreads. This includes
2884         only RenderMultiColumnFlowThread for now, but eventually it will also include
2885         RenderPageFlowThread.
2886
2887         (WebCore::RenderLayer::useRegionBasedColumns):
2888         Add a helper method to check if region-based columns are turned on, since we're
2889         not attempting to alter the old column pagination model.
2890
2891         (WebCore::RenderLayer::updatePagination):
2892         Added the code to propagate bits under the new model. Whether or not you're paginated
2893         just depends on whether or not your enclosing layer along the containing block chain
2894         is paginated.
2895
2896         (WebCore::RenderLayer::paintList):
2897         (WebCore::RenderLayer::hitTestList):
2898         Add code that avoids the old multi-column pagination model when the new column model
2899         is enabled. For now there is no code in the new model that does anything with the bits,
2900         but we're avoiding calling the old code, since it is broken for the new columns.
2901
2902         * rendering/RenderLayer.h:
2903         (RenderLayer):
2904         Added the useRegionBasedColumns method to check the Setting.
2905
2906         * rendering/RenderMultiColumnFlowThread.h:
2907         * rendering/RenderObject.h:
2908         (WebCore::RenderObject::isInFlowRenderFlowThread):
2909         (RenderObject):
2910         Implement isInFlowRenderFlowThread, a virtual function for asking if a renderer is
2911         an in-flow RenderFlowThread, which means that it is going to need paginated layers
2912         because the flow thread has to split across "pages" that do not establish stacking
2913         contexts.
2914
2915 2013-02-22  Bem Jones-Bey  <bjonesbe@adobe.com>
2916
2917         text-overflow:ellipsis is not applied when the block contains nested blocks
2918         https://bugs.webkit.org/show_bug.cgi?id=101879
2919
2920         Reviewed by Eric Seidel.
2921
2922         Since text-overflow is not an inherited property, the anonymous blocks
2923         don't know they should ellipse. This causes the anonymous blocks
2924         created in the nested block situation to check their parent to find
2925         out if they should ellipse.
2926
2927         Test: fast/css/text-overflow-ellipsis-anonymous-blocks.html
2928
2929         * rendering/RenderBlockLineLayout.cpp:
2930         (WebCore::RenderBlock::layoutInlineChildren):
2931
2932 2013-02-22  Eric Seidel  <eric@webkit.org>
2933
2934         REGRESSION(r143664, r143681): http/tests/security/feed-urls-from-remote.html fails
2935         https://bugs.webkit.org/show_bug.cgi?id=110554
2936
2937         Reviewed by Adam Barth.
2938
2939         Will fix http/tests/security/feed-urls-from-remote.html for Mac WK1.
2940
2941         * loader/DocumentLoader.cpp:
2942         (WebCore::DocumentLoader::isLoading):
2943
2944 2013-02-22  Mark Rowe  <mrowe@apple.com>
2945
2946         Build fix after r143637.
2947
2948         * WebCore.exp.in: Unconditionally export ScriptController::javaScriptContext.
2949         * bindings/js/ScriptController.h: Unconditionally define javaScriptContext for Mac builds.
2950         * bindings/js/ScriptControllerMac.mm:
2951         (WebCore::ScriptController::javaScriptContext): Move the #if inside the function, and return 0 when false.
2952
2953 2013-02-22  Anton Vayvod  <avayvod@chromium.org>
2954
2955         [TextAutosizing] Refactoring to eliminate boolean parameter.
2956         https://bugs.webkit.org/show_bug.cgi?id=110490
2957
2958         Reviewed by Julien Chaffraix.
2959
2960         A follow-up to the recent change that introduced a boolean parameter to
2961         processClusterInternal method of TextAutosizer. Boolean parameters are discouraged by the
2962         WebKit style guide. See http://trac.webkit.org/changeset/142866
2963
2964         Refactoring so no new tests.
2965
2966         * rendering/TextAutosizer.cpp:
2967         (WebCore::TextAutosizer::clusterMultiplier):
2968
2969                 Calculates the font size multiplier for the specified cluster.
2970
2971         (WebCore::TextAutosizer::processClusterInternal):
2972
2973                 Accepts the font size multiplier instead of |shouldBeAutosized|.
2974
2975         (WebCore::TextAutosizer::processCluster):
2976         (WebCore::TextAutosizer::processCompositeCluster):
2977
2978                 Both methods above now calculate the multiplier and then pass it to
2979                 processClusterInternal.
2980
2981         * rendering/TextAutosizer.h:
2982
2983                 Updated method declarations.
2984
2985 2013-02-22  Carlos Garcia Campos  <cargarcia@rim.com>
2986
2987         [BlackBerry] Use KURL::protocolIsInHTTPFamily instead of KURL::protocolInHTTPFamily
2988         https://bugs.webkit.org/show_bug.cgi?id=110581
2989
2990         Reviewed by Rob Buis.
2991
2992         KURL::protocolInHTTPFamily() was removed in r109670.
2993
2994         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
2995         (WebCore::ResourceRequest::clearHTTPContentLength):
2996         (WebCore::ResourceRequest::clearHTTPContentType):
2997
2998 2013-02-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2999
3000         Unreviewed build-fix after r143744.
3001
3002         * dom/Document.cpp:
3003         (WebCore::Document::updateHoverActiveState):
3004
3005 2013-02-22  Andrey Adaikin  <aandrey@chromium.org>
3006
3007         Web Inspector: [Canvas] throttle replayTraceLog messages to backend
3008         https://bugs.webkit.org/show_bug.cgi?id=110591
3009
3010         Reviewed by Pavel Feldman.
3011
3012         The replayTraceLog message may be quite expensive. So, while such a request is processed by the
3013         backend, user may well generate a dozen of new ones simply by walking through the DataGrid.
3014         We should actually send to the backend only the last event from the queue.
3015
3016         * inspector/front-end/CanvasProfileView.js:
3017         (WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
3018         (WebInspector.CanvasProfileView.prototype._replayTraceLog):
3019
3020 2013-02-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3021
3022         Multiple Layout Test crashes (ASSERT) on chromium linux debug after r143727
3023         https://bugs.webkit.org/show_bug.cgi?id=110609
3024
3025         Reviewed by Antonio Gomes.
3026
3027         Revert r128869. InnerNode may now again be from a child document, 
3028         and should be handled and not asserted against.
3029
3030         * dom/Document.cpp:
3031         (WebCore::Document::updateHoverActiveState):
3032
3033 2013-02-22  Andreas Kling  <akling@apple.com>
3034
3035         Element: Make updateName/updateId/updateLabel private.
3036         <http://webkit.org/b/110603>
3037
3038         Reviewed by Antti Koivisto.
3039
3040         These methods are only called from inside Element so make them private and
3041         move them to the .cpp file.
3042
3043         * dom/Element.cpp:
3044         (WebCore::Element::updateName):
3045         (WebCore::Element::updateId):
3046         * dom/Element.h:
3047
3048 2013-02-21  Zhenyao Mo  <zmo@google.com>
3049
3050         Roll ANGLE to r1833
3051         https://bugs.webkit.org/show_bug.cgi?id=110513
3052
3053         Reviewed by Kenneth Russell.
3054
3055         * CMakeLists.txt:
3056         * GNUmakefile.list.am:
3057
3058 2013-02-22  Carlos Garcia Campos  <cargarcia@rim.com>
3059
3060         [BlackBerry] Rename first/second to key/value in HashMap iterators
3061         https://bugs.webkit.org/show_bug.cgi?id=110577
3062
3063         Reviewed by Rob Buis.
3064
3065         Iterators were renamed to key/value in r130612.
3066
3067         * platform/blackberry/AuthenticationChallengeManager.cpp:
3068         (WebCore::AuthenticationChallengeManager::pageVisibilityChanged):
3069         * platform/network/blackberry/NetworkJob.cpp:
3070         (WebCore::NetworkJob::handleNotifyMultipartHeaderReceived):
3071
3072 2013-02-22  Kentaro Hara  <haraken@chromium.org>
3073
3074         [V8] Add comments to checkTypeOrDieTrying()
3075         https://bugs.webkit.org/show_bug.cgi?id=110553
3076
3077         Reviewed by Adam Barth.
3078
3079         It is mysterious how the check is helpful. We need comments.
3080
3081         No tests. Just added comments.
3082
3083         * bindings/scripts/CodeGeneratorV8.pm:
3084         (GenerateImplementation):
3085         * bindings/v8/ScriptWrappable.h:
3086         (ScriptWrappable):
3087
3088 2013-02-22  Jessie Berlin  <jberlin@apple.com>
3089
3090         32-bit build fix after r143706
3091
3092         * fileapi/FileReaderLoader.cpp:
3093         (WebCore::FileReaderLoader::didReceiveData):
3094
3095 2013-02-22  Andrey Adaikin  <aandrey@chromium.org>
3096
3097         Web Inspector: [Canvas] do no show a single frame node in data grid
3098         https://bugs.webkit.org/show_bug.cgi?id=110473
3099
3100         Reviewed by Pavel Feldman.
3101
3102         In a single canvas frame capture mode do not show the single "Frame #1" node.
3103         Drive-by: Fix a wrong "this" pointer.
3104
3105         * inspector/front-end/CanvasProfileView.js:
3106         (WebInspector.CanvasProfileView.prototype._didReceiveTraceLog):
3107         (WebInspector.CanvasProfileView.prototype.appendDrawCallGroup):
3108         (WebInspector.CanvasProfileView.prototype._flattenSingleFrameNode):
3109
3110 2013-02-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3111
3112         Multiple Layout Test crashes (ASSERT) on chromium linux debug after r143727
3113         https://bugs.webkit.org/show_bug.cgi?id=110609
3114
3115         Reviewed by Antonio Gomes.
3116
3117         Point based hit tests should not append but assign HitTestResults.
3118
3119         * rendering/RenderFrameBase.cpp:
3120         (WebCore::RenderFrameBase::nodeAtPoint):
3121
3122 2013-02-22  Andrey Lushnikov  <lushnikov@chromium.org>
3123
3124         Web Inspector: show source location after drawer views
3125         https://bugs.webkit.org/show_bug.cgi?id=110156
3126
3127         Reviewed by Pavel Feldman.
3128
3129         - Add statusBarText method
3130         - Add #drawer-view-anchor, which determines layout position of
3131         drawerView
3132         - Fix layout in #panel-status-bar to avoid floating elements.
3133
3134         No new tests.
3135
3136         * inspector/front-end/Panel.js:
3137         (WebInspector.Panel.prototype.wasShown): Add statusBarItems before
3138         drawer-view-anchor and statusBarText after.
3139         (WebInspector.Panel.prototype.willHide): Remove statusBarText from DOM in the
3140         way it's done for statusBarItems
3141         * inspector/front-end/ScriptsPanel.js:
3142         (WebInspector.ScriptsPanel.prototype.statusBarText): Added.
3143         * inspector/front-end/SourceFrame.js:
3144         (WebInspector.SourceFrame.prototype.statusBarText): Added.
3145         (WebInspector.SourceFrame.prototype.statusBarItems):
3146         * inspector/front-end/TimelinePanel.js:
3147         (WebInspector.TimelinePanel.prototype.get statusBarItems):
3148         * inspector/front-end/View.js:
3149         (WebInspector.View.prototype.statusBarText):
3150         * inspector/front-end/inspector.css:
3151         (#drawer-view-anchor):
3152         (.source-frame-cursor-position):
3153         * inspector/front-end/inspector.html:
3154         * inspector/front-end/inspector.js:
3155         (WebInspector.showViewInDrawer):
3156         * inspector/front-end/timelinePanel.css:
3157         (.timeline-records-stats):
3158         (.timeline-records-stats-container):
3159
3160 2013-02-22  Allan Sandfeld Jensen  <allan.jensen@digia.com>
3161
3162         Allow child-frame content in hit-tests.
3163         https://bugs.webkit.org/show_bug.cgi?id=95204
3164
3165         Reviewed by Julien Chaffraix.
3166
3167         Refactors how EventHandler::hitTestResultAtPoint handles child-frame content,
3168         it is now handled by the hit test itself controlled by the AllowChildFrameContent
3169         flag in HitTestRequest.
3170
3171         This means that area-based hit-tests can now return elements from all the child frames
3172         they intersect instead of just the one frame containing the center point. The improved
3173         results from area-based hit-tests will among other things also improve touch adjustment
3174         near frame boundaries.
3175
3176         Tests: fast/dom/nodesFromRect/nodesFromRect-child-frame-content.html
3177
3178         * page/EventHandler.cpp:
3179         (WebCore::EventHandler::hitTestResultAtPoint):
3180             Recursion into child-frames have been moved to RenderFrameBase::nodeAtPoint, so
3181             now hitTestResultAtPoint just needs to set AllowChildFrameContent.
3182         * page/TouchAdjustment.cpp:
3183         (WebCore::TouchAdjustment::parentShadowHostOrOwner):
3184             New function to iterate up across frame boundaries.
3185         (WebCore::TouchAdjustment::compileSubtargetList):
3186             We need to iterate up across frame boundaries to avoid iframes competing with their
3187             own content for touch adjustment.
3188         * rendering/HitTestRequest.h:
3189         (WebCore::HitTestRequest::allowsChildFrameContent):
3190         (WebCore::HitTestRequest::isChildFrameHitTest):
3191         * rendering/HitTestResult.cpp:
3192         (WebCore::HitTestResult::HitTestResult):
3193         (WebCore::HitTestResult::operator=):
3194         (WebCore::HitTestResult::append):
3195         (WebCore::HitTestResult::dictationAlternatives):
3196         * rendering/HitTestResult.h:
3197         (WebCore::HitTestResult::pointInMainFrame):
3198         (WebCore::HitTestResult::pointInInnerNodeFrame):
3199         (HitTestResult):
3200             m_hitTestLocation is now in main frame coordinates, which make m_pointInMainFrame
3201             unnecessary, but requires the introduction of m_pointInInnerFrame, to remember
3202             the coordinates of inner-node in its own frame.
3203         * rendering/RenderFrameBase.cpp:
3204         (WebCore::RenderFrameBase::nodeAtPoint):
3205             The recursion into child-frames is now handled here instead of in hitTestResultAtPoint, this
3206             allows us to recurse into multiple frames, instead of just one.
3207         * rendering/RenderFrameBase.h:
3208         (RenderFrameBase):
3209         * rendering/RenderLayer.cpp:
3210         (WebCore::RenderLayer::hitTest):
3211             RenderLayer should not lie about being hit if the request is child-frame request.
3212         * testing/Internals.cpp:
3213         (WebCore::Internals::nodesFromRect):
3214         * testing/Internals.h:
3215         (Internals):
3216         * testing/Internals.idl:
3217             Extended so nodesFromRect with child-frame content can be tested.
3218
3219 2013-02-22  Andreas Kling  <akling@apple.com>
3220
3221         ShareableElementData should use zero-length array for storage.
3222         <http://webkit.org/b/109959>
3223
3224         Reviewed by Anders Carlsson.
3225
3226         Use a zero-length Attribute array instead of always casting from void* to an array.
3227         It was done this way originally because I didn't know we could sidestep the MSVC
3228         build error with some #pragma hackery and a default constructor for Attribute.
3229
3230         * dom/Attribute.cpp:
3231         (WebCore::Attribute::Attribute):
3232         * dom/DocumentSharedObjectPool.cpp:
3233         (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
3234         * dom/Element.cpp:
3235         (WebCore::sizeForShareableElementDataWithAttributeCount):
3236         (WebCore::ShareableElementData::ShareableElementData):
3237         (WebCore::ShareableElementData::~ShareableElementData):
3238         (WebCore::UniqueElementData::UniqueElementData):
3239         * dom/Element.h:
3240         (ShareableElementData):
3241         (WebCore::ElementData::attributeItem):
3242
3243 2013-02-22  Andreas Kling  <akling@apple.com>
3244
3245         Remove unused declaration: Element::removeCachedHTMLCollection()
3246
3247         Not reviewed by Antti Koivisto.
3248
3249         * dom/Element.h:
3250         (Element):
3251
3252 2013-02-22  Keishi Hattori  <keishi@webkit.org>
3253
3254         Add scroll view for new calendar picker
3255         https://bugs.webkit.org/show_bug.cgi?id=110137
3256
3257         Reviewed by Kent Tamura.
3258
3259         Adding a scroll view class as part of the new calendar picker (Bug 109439).
3260
3261         No new tests. Code not yet used.
3262
3263         * Resources/pagepopups/calendarPicker.js:
3264         (View):
3265         (View.prototype.offsetRelativeTo): Returns the offset position of this view relative to the given ancestor element.
3266         (View.prototype.attachTo): Attaches view to a node or view.
3267         (View.prototype.bindCallbackMethods): Binds all methods starting with "on" to this.
3268         (ScrollView): A custom scroll view that can contain extremely long content. CSS values have a limit. This can go beyond that.
3269         (ScrollView.prototype.setWidth): Sets the view width.
3270         (ScrollView.prototype.width):
3271         (ScrollView.prototype.setHeight):Sets the view height.
3272         (ScrollView.prototype.height):
3273         (ScrollView.prototype.onScrollAnimatorStep): Callback for scroll animator step.
3274         (ScrollView.prototype.scrollTo): Scrolls to a certain offset.
3275         (ScrollView.prototype.scrollBy): Scrolls by a certain amount.
3276         (ScrollView.prototype.contentOffset): Current content offset.
3277         (ScrollView.prototype.onMouseWheel): Scroll with the mouse wheel.
3278         (ScrollView.prototype.setContentOffset): Sets the content offset.
3279         (ScrollView.prototype.contentPositionForContentOffset): Returns where the content element should be positioned.
3280
3281 2013-02-22  Alexander Pavlov  <apavlov@chromium.org>
3282
3283         Web Inspector: InspectorPageAgent::disable() should not update view metrics regardless of the override state
3284         https://bugs.webkit.org/show_bug.cgi?id=110593
3285
3286         Reviewed by Vsevolod Vlasov.
3287
3288         InspectorPageAgent::disable() now checks if the device metrics are overridden before
3289         telling the client to disable the override.
3290
3291         * inspector/InspectorPageAgent.cpp:
3292         (WebCore::InspectorPageAgent::disable):
3293         (WebCore::InspectorPageAgent::setDeviceMetricsOverride):
3294         (WebCore::InspectorPageAgent::deviceMetricsChanged):
3295         * inspector/InspectorPageAgent.h:
3296         (InspectorPageAgent):
3297
3298 2013-02-22  Zan Dobersek  <zdobersek@igalia.com>
3299
3300         Unreviewed, rolling out r143695.
3301         http://trac.webkit.org/changeset/143695
3302         https://bugs.webkit.org/show_bug.cgi?id=110554
3303
3304         Crashes in DocumentLoader::checkLoadComplete on AppleMac WK1, EFL, GTK.
3305
3306         * loader/DocumentLoader.cpp:
3307         (WebCore::DocumentLoader::isLoading):
3308
3309 2013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
3310
3311         [CoordGfx] Minor cleanup in CoordinatedGraphicsScene::paintToGraphicsContext
3312         https://bugs.webkit.org/show_bug.cgi?id=109824
3313
3314         Reviewed by Andreas Kling.
3315
3316         Avoid ugly ifdefs by using PlatformGraphicsContext.
3317
3318         No new tests, only refactoring.
3319
3320         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
3321         (WebCore::CoordinatedGraphicsScene::paintToGraphicsContext):
3322         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
3323         (CoordinatedGraphicsScene):
3324
3325 2013-02-22  Carlos Garcia Campos  <cgarcia@igalia.com>
3326
3327         Unreviewed. Fix make distcheck.
3328
3329         * GNUmakefile.am: Add CodeGeneratorInspectorStrings.py to
3330         EXTRA_DIST.
3331
3332 2013-02-22  Andreas Kling  <akling@apple.com>
3333
3334         GlyphPage: ALWAYS_INLINE all performance-relevant getters.
3335
3336         REGRESSION(r143125): ~5% performance hit on Chromium's intl2 page cycler
3337         <http://webkit.org/b/108835>
3338
3339         Reviewed by Antti Koivisto.
3340
3341         Unreviewed desperate hack. Since I can't reproduce the problem and it's only showing
3342         up on two bots, one Linux and one Snow Leopard, I'm thinking it may be GCC related.
3343         Let's see what happens if we tell it to force inline all the GlyphPage getters.
3344
3345         * platform/graphics/GlyphPage.h:
3346         (WebCore::GlyphPage::indexForCharacter):
3347         (WebCore::GlyphPage::glyphDataForCharacter):
3348         (WebCore::GlyphPage::glyphDataForIndex):
3349         (WebCore::GlyphPage::glyphAt):
3350         (WebCore::GlyphPage::fontDataForCharacter):
3351
3352 2013-02-22  Zach Kuznia  <zork@chromium.org>
3353
3354         Update FileReaderLoader to allow specifying a range and reading as a blob.
3355         https://bugs.webkit.org/show_bug.cgi?id=110556
3356
3357         This is part of a series of patches to implement Stream support.  See:
3358         https://bugs.webkit.org/show_bug.cgi?id=110194
3359
3360         Reviewed by Hajime Morrita.
3361
3362         Tests: will be added when js binding is added.
3363
3364         * fileapi/FileReaderLoader.cpp:
3365         * fileapi/FileReaderLoader.h:
3366
3367 2013-02-22  Kondapally Kalyan  <kalyan.kondapally@intel.com>
3368
3369         [WebGL][EFL] Support for creating surface with alpha disabled.
3370         https://bugs.webkit.org/show_bug.cgi?id=110067
3371
3372         Reviewed by Kenneth Rohde Christiansen.
3373
3374         Covered by compositing/webgl/webgl-no-alpha.html
3375
3376         We currently always create a surface supporting alpha channel. 
3377         With this patch we create the surface with alpha only if
3378         required.
3379
3380         * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
3381         (WebCore::GraphicsContext3DPrivate::initialize):
3382         * platform/graphics/efl/GraphicsContext3DPrivate.h:
3383         (GraphicsContext3DPrivate):
3384         * platform/graphics/opengl/GLPlatformSurface.cpp:
3385         (WebCore::GLPlatformSurface::createOffScreenSurface):
3386         (WebCore::GLPlatformSurface::createTransportSurface):
3387         (WebCore::GLPlatformSurface::GLPlatformSurface):
3388         (WebCore::GLPlatformSurface::attributes):
3389         (WebCore):
3390         * platform/graphics/opengl/GLPlatformSurface.h:
3391         * platform/graphics/surfaces/egl/EGLConfigSelector.cpp:
3392         (WebCore):
3393         (WebCore::EGLConfigSelector::EGLConfigSelector):
3394         (WebCore::EGLConfigSelector::pBufferContextConfig):
3395         (WebCore::EGLConfigSelector::surfaceContextConfig):
3396         * platform/graphics/surfaces/egl/EGLConfigSelector.h:
3397         (EGLConfigSelector):
3398         * platform/graphics/surfaces/egl/EGLSurface.cpp:
3399         (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
3400         * platform/graphics/surfaces/egl/EGLSurface.h:
3401         (EGLWindowTransportSurface):
3402         * platform/graphics/surfaces/glx/GLXConfigSelector.h:
3403         (WebCore):
3404         (WebCore::GLXConfigSelector::GLXConfigSelector):
3405         (WebCore::GLXConfigSelector::pixmapContextConfig):
3406         (WebCore::GLXConfigSelector::surfaceContextConfig):
3407         (WebCore::GLXConfigSelector::surfaceClientConfig):
3408         (WebCore::GLXConfigSelector::validateAttributes):
3409         (WebCore::GLXConfigSelector::findMatchingConfig):
3410         (WebCore::GLXConfigSelector::findMatchingConfigWithVisualId):
3411         (GLXConfigSelector):
3412         * platform/graphics/surfaces/glx/GLXContext.cpp:
3413         (WebCore::GLXOffScreenContext::initialize):
3414         * platform/graphics/surfaces/glx/GLXSurface.cpp:
3415         (WebCore::GLXTransportSurface::GLXTransportSurface):
3416         (WebCore::GLXOffScreenSurface::GLXOffScreenSurface):
3417         (WebCore::GLXOffScreenSurface::initialize):
3418         * platform/graphics/surfaces/glx/GLXSurface.h:
3419         (GLXTransportSurface):
3420         (GLXOffScreenSurface):
3421         * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
3422         (WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
3423         (WebCore::GraphicsSurfacePrivate::createPixmap):
3424
3425 2013-02-22  Pavel Feldman  <pfeldman@chromium.org>
3426
3427         Web Inspector: allow opting out from vertical split in the dock-to-right mode
3428         https://bugs.webkit.org/show_bug.cgi?id=110564
3429
3430         Reviewed by Vsevolod Vlasov.
3431
3432         * English.lproj/localizedStrings.js:
3433         * inspector/front-end/ElementsPanel.js:
3434         (WebInspector.ElementsPanel.prototype._splitVertically):
3435         * inspector/front-end/ScriptsPanel.js:
3436         * inspector/front-end/Settings.js:
3437         (WebInspector.Settings):
3438         * inspector/front-end/SettingsScreen.js:
3439         (WebInspector.GenericSettingsTab):
3440
3441 2013-02-21  Claudio Saavedra  <csaavedra@igalia.com>
3442
3443         [GTK] Control+Shift+Up/Down selection works backwards
3444         https://bugs.webkit.org/show_bug.cgi?id=110459
3445
3446         Reviewed by Martin Robinson.
3447
3448         * platform/gtk/KeyBindingTranslator.cpp:
3449         (WebCore): The translation table for paragraph selection
3450         commands is backwards, fix it.
3451
3452 2013-02-21  Eric Seidel  <eric@webkit.org>
3453
3454         REGRESSION(r143664, r143681): http/tests/security/feed-urls-from-remote.html fails
3455         https://bugs.webkit.org/show_bug.cgi?id=110554
3456
3457         Reviewed by Ryosuke Niwa.
3458
3459         Will fix http/tests/security/feed-urls-from-remote.html for Mac WK1.
3460
3461         * loader/DocumentLoader.cpp:
3462         (WebCore::DocumentLoader::isLoading):
3463
3464 2013-02-21  Alec Flett  <alecflett@chromium.org>
3465
3466         IndexedDB: Implement SharedBuffer version of put() / onSuccess()
3467         https://bugs.webkit.org/show_bug.cgi?id=110398
3468
3469         Reviewed by Tony Chang.
3470
3471         This avoids all unnecessary data copies within the context of
3472         IndexedDB proper, and removes all references to
3473         SerializedScriptValue from the IndexedDB "backend".
3474
3475         No new tests because this is just a refactor.
3476
3477         * bindings/v8/IDBBindingUtilities.cpp:
3478         (WebCore::deserializeIDBValueBuffer): New version of deserializeIDBValue which takes SharedBuffer.
3479
3480 2013-02-21  Sheriff Bot  <webkit.review.bot@gmail.com>
3481
3482         Unreviewed, rolling out r143691.
3483         http://trac.webkit.org/changeset/143691
3484         https://bugs.webkit.org/show_bug.cgi?id=110559
3485
3486         Breaks compilation on mac. (Requested by vsevik on #webkit).
3487
3488         * rendering/RenderLayerCompositor.cpp:
3489         (WebCore::RenderLayerCompositor::logLayerInfo):
3490         (WebCore):
3491         (WebCore::RenderLayerCompositor::reasonForCompositing):
3492         * rendering/RenderLayerCompositor.h:
3493         (RenderLayerCompositor):
3494
3495 2013-02-21  Philip Rogers  <pdr@google.com>
3496
3497         Remove deep copy of ImageBuffer in tiled SVG backgrounds
3498         https://bugs.webkit.org/show_bug.cgi?id=110549
3499
3500         Reviewed by Dirk Schulze.
3501
3502         SVGImage::drawPatternForContainer creates a temporary ImageBuffer for stamping out tiled
3503         backgrounds. Previously this ImageBuffer was unnecessarily deep-copied! This patch uses a
3504         shallow copy, taking advantage of the fact that the temporary ImageBuffer is never modified.
3505
3506         This patch is covered with existing tests.
3507
3508         * svg/graphics/SVGImage.cpp:
3509         (WebCore::SVGImage::drawPatternForContainer):
3510
3511 2013-02-21  Antoine Quint  <graouts@apple.com>
3512
3513         Expose a list of all reasons that qualify a RenderLayer to be composited
3514         https://bugs.webkit.org/show_bug.cgi?id=110505
3515
3516         Expose the various reasons that can qualify a RenderLayer to be composited
3517         via a new bitmask returned by the reasonForCompositing() method on
3518         RenderLayerCompositor. This method already existed and was used for logging
3519         purposes, but the previous functionality is now accessed via the
3520         logReasonForCompositing() method.
3521
3522         This will allow the the InspectorLayerTreeAgent to provide this information
3523         to the front-end on a per-layer basis as requested by the front-end.
3524
3525         Reviewed by Simon Fraser.
3526
3527         No new tests.
3528
3529         * rendering/RenderLayerCompositor.cpp:
3530         (WebCore::RenderLayerCompositor::logLayerInfo):
3531         (WebCore::RenderLayerCompositor::reasonsForCompositing):
3532         (WebCore):
3533         (WebCore::RenderLayerCompositor::logReasonsForCompositing):
3534         * rendering/RenderLayerCompositor.h:
3535         (RenderLayerCompositor):
3536
3537 2013-02-21  Takashi Sakamoto  <tasak@google.com>
3538
3539         RenderTable::paintBoxDecorations sometimes draws box-shadow twice.
3540         https://bugs.webkit.org/show_bug.cgi?id=110196
3541
3542         Reviewed by Simon Fraser.
3543
3544         When RenderTable::paintBoxDecorations draws box-shadow, paintBackground
3545         should not draw box-shadow. So we have to provide bleedAvoidance
3546         parameter for RenderBox::paintBackground.
3547
3548         Test: fast/css/table-border-radius-with-box-shadow.html
3549
3550         * rendering/RenderTable.cpp:
3551         (WebCore::RenderTable::paintBoxDecorations):
3552         Provide bleedAvoidance, which determineBackgroundBleedAvoidance
3553         returns, for paintBackground.
3554
3555 2013-02-21  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
3556
3557         Allow to retrieve the request data from abstract TextCheckingRequest to be accessible for WK2
3558         https://bugs.webkit.org/show_bug.cgi?id=110208
3559
3560         Reviewed by Hajime Morrita.
3561
3562         The WebCore changes are required to implement asynchronous spell checking in WK2.
3563         The idea of asynchronous spell checking in WK1 is to pass the pointer to the abstract object
3564         to the client who is able to verify the given text and notify the WebCore about results.
3565         WK2 will extract the request data and pass it (with additional information) to the UIProcess.
3566
3567         No new tests, covered by editing/spelling tests.
3568
3569         * editing/Editor.cpp:
3570         (WebCore::Editor::markAndReplaceFor):
3571         Extract the request data as it is the member of 'TextCheckingRequest'.
3572
3573         * editing/SpellChecker.cpp:
3574         (WebCore):
3575         (WebCore::SpellCheckRequest::didCancel):
3576         (WebCore::SpellCheckRequest::setCheckerAndSequence):
3577         (WebCore::SpellChecker::requestCheckingFor):
3578         (WebCore::SpellChecker::enqueueRequest):
3579         (WebCore::SpellChecker::didCheck):
3580         (WebCore::SpellChecker::didCheckSucceed):
3581         * platform/text/TextChecking.h:
3582         (WebCore):
3583         (TextCheckingRequestData):
3584         Introduce a new 'TextCheckingRequestData' class to keep the request data and to
3585         easy extract it from the 'TextCheckingRequest'.
3586
3587         (WebCore::TextCheckingRequestData::TextCheckingRequestData):
3588         (TextCheckingRequest):
3589         (WebCore::TextCheckingRequest::~TextCheckingRequest):
3590
3591 2013-02-21  Brady Eidson  <beidson@apple.com>
3592
3593         Move fastlog2() to WTF/MathExtras.h so it can be used from multiple projects.
3594
3595         Rubberstamped by Geoff Garen.
3596
3597         * loader/cache/MemoryCache.cpp:
3598         (WebCore::MemoryCache::lruListFor): Remove the inline fastlog2 and use WTF::fastlog2.
3599
3600 2013-02-21  Dimitri Glazkov  <dglazkov@chromium.org>
3601
3602         Split SelectorChecker's fast-checking logic into its own class.
3603         https://bugs.webkit.org/show_bug.cgi?id=106860
3604
3605         Reviewed by Antti Koivisto.
3606
3607         No functional changes, covered by existing tests.
3608
3609         * CMakeLists.txt: Added new class to existing build system.
3610         * GNUmakefile.list.am: Ditto.
3611         * Target.pri: Ditto.
3612         * WebCore.gypi: Ditto.
3613         * WebCore.xcodeproj/project.pbxproj: Ditto.
3614         * css/CSSAllInOne.cpp: Ditto.
3615         * css/RuleSet.cpp:
3616         (WebCore::RuleData::RuleData): Changed to use SelectorCheckerFastPath.
3617         * css/SelectorChecker.cpp:
3618         (WebCore::SelectorChecker::matches): Ditto.
3619         * css/SelectorChecker.h:
3620         (SelectorChecker): Move fast path code into SelectorCheckerFastPath.
3621         * css/SelectorCheckerFastPath.cpp: Added.
3622         * css/SelectorCheckerFastPath.h: Added.
3623         * css/StyleResolver.cpp:
3624         (WebCore::StyleResolver::ruleMatches): Changed to use SelectorCheckerFastPath.
3625         * dom/SelectorQuery.cpp:
3626         (WebCore::SelectorDataList::initialize): Ditto.
3627
3628 2013-02-21  Tony Gentilcore  <tonyg@chromium.org>
3629
3630         Invalidate outstanding checkpoints for the background input stream and preload scanner
3631         https://bugs.webkit.org/show_bug.cgi?id=110537
3632
3633         Reviewed by Adam Barth.
3634
3635         fast/tokenizer/write-before-load.html caused duplicate didFailSpeculation() calls for the same checkpoint.
3636         One was triggered by processParsedChunkFromBackgroundParser and the other by resumeParsingAfterScriptExecution.
3637         This change ensures that after we send a checkpoint, it is cleared so it won't be sent again until the next
3638         processParsedChunkFromBackgroundParser().
3639
3640         No new tests because no new functionality.
3641
3642         * html/parser/BackgroundHTMLInputStream.cpp:
3643         (WebCore::BackgroundHTMLInputStream::rewindTo):
3644         * html/parser/HTMLDocumentParser.cpp:
3645         (WebCore::HTMLDocumentParser::didFailSpeculation):
3646         * html/parser/HTMLPreloadScanner.cpp:
3647         (WebCore::TokenPreloadScanner::rewindTo):
3648
3649 2013-02-21  Dean Jackson  <dino@apple.com>
3650
3651         Followup commit for https://bugs.webkit.org/show_bug.cgi?id=110541
3652         from a comment by Jon Lee.
3653
3654         * html/HTMLPlugInImageElement.cpp:
3655         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Logic
3656         in conditional was unnecessarily complex.
3657
3658 2013-02-21  Ojan Vafai  <ojan@chromium.org>
3659
3660         Clean up computePreferredLogicalWidths functions in TableLayout subclasses
3661         https://bugs.webkit.org/show_bug.cgi?id=110515
3662
3663         Reviewed by Tony Chang.
3664
3665         No change in behavior. This is just a cleanup in preparation for other
3666         refactoring to this code.
3667
3668         * rendering/FixedTableLayout.cpp:
3669         (WebCore::FixedTableLayout::calcWidthArray):
3670         Move a FIXME here from computePreferredLogicalWidths. It makes more sense here.
3671         (WebCore::FixedTableLayout::computePreferredLogicalWidths):
3672         -Remove outdated or unhelpful comments.
3673         -Isolate the fixed width codepath to make it a bit less convoluted.
3674         (WebCore::FixedTableLayout::layout):
3675         * rendering/FixedTableLayout.h:
3676         The argument to calcWidthArray is never used. Remove it.
3677
3678 2013-02-21  Eric Seidel  <eric@webkit.org>
3679
3680         LayoutTests/fast/encoding/parser-tests-*.html timeout with threaded HTML parser
3681         https://bugs.webkit.org/show_bug.cgi?id=109995
3682
3683         Unreviewed speculative fix for Mac WK1.
3684
3685         It appears that m_frame can be null for Mac WK1.
3686
3687         * loader/DocumentLoader.cpp:
3688         (WebCore::DocumentLoader::isLoading):
3689
3690 2013-02-21  Dean Jackson  <dino@apple.com>
3691
3692         Better sizing model for Snapshotted plugins
3693         https://bugs.webkit.org/show_bug.cgi?id=110541
3694
3695         Reviewed by Simon Fraser.
3696
3697         Clarify the way we apply sizing rules to snapshotted plug-ins. In
3698         testing we've found that plug-ins smaller than 40px in either
3699         dimension should never be frozen. Also, larger plugins should
3700         be explicitly marked, because often they are the single dominant
3701         element on the page.
3702
3703         As a drive-by, I removed the flag that indicated whether or not
3704         the label should show automatically. It wasn't being used. This is
3705         all determined from the shadow root and its CSS now.
3706
3707         * html/HTMLPlugInImageElement.cpp:
3708         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): New values for size thresholds.
3709         (WebCore::HTMLPlugInImageElement::createRenderer): Remove call to setShouldShowSnapshotLabelAutomatically.
3710         (WebCore::classNameForShadowRoot): Remove logging and clearly assign sizing classes.
3711         (WebCore::HTMLPlugInImageElement::updateSnapshotInfo): We don't need the page size any more.
3712         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Use new constant names.
3713         * html/HTMLPlugInImageElement.h:
3714         (HTMLPlugInImageElement): Remove setShouldShowSnapshotLabelAutomatically.
3715
3716 2013-02-21  Benjamin Poulain  <benjamin@webkit.org>
3717
3718         Fix the build after r143664.
3719
3720         Unreviewed.
3721
3722         * WebCore.exp.in:
3723
3724 2013-02-21  Eric Seidel  <eric@webkit.org>
3725
3726         tables/mozilla/bugs/bug8950.html fails with threaded parser due to attribute duplication
3727         https://bugs.webkit.org/show_bug.cgi?id=110532
3728
3729         Reviewed by Adam Barth.
3730
3731         This is a very basic failure which we should have caught earlier with the html5lib parser
3732         tests, except those use document.write and thus avoid the threaded parser.
3733
3734         AtomicHTMLToken expects its attributes to be unique.  We were not doing that for the
3735         CompactHTMLToken path, and this ancient mozilla table test caught that.
3736
3737         Fixes tables/mozilla/bugs/bug8950.html.
3738
3739         * html/parser/AtomicHTMLToken.h:
3740         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
3741         (WebCore::AtomicHTMLToken::initializeAttributes):
3742
3743 2013-02-21  Adam Barth  <abarth@webkit.org>
3744
3745         Threaded HTML Parser fails fast/dom/Document/readystate.html
3746         https://bugs.webkit.org/show_bug.cgi?id=110529
3747
3748         Reviewed by Eric Seidel.
3749
3750         We need to create the tokenizer even when we finish a script-created
3751         parser. Most of the time, the tokenizer has already been created at
3752         this point because it is created by calls to document.write.
3753
3754         Test: fast/parser/body-should-exist-after-open-close.html
3755
3756         * html/parser/HTMLDocumentParser.cpp:
3757         (WebCore::HTMLDocumentParser::finish):
3758
3759 2013-02-21  Emil A Eklund  <eae@chromium.org>
3760
3761         Lots of LayoutUnit assertions when loading a Wikipedia article
3762         https://bugs.webkit.org/show_bug.cgi?id=110270
3763
3764         Reviewed by Levi Weintraub.
3765         
3766         Change RenderBlock::adjustRectForColumns to ensure that the
3767         endColumn calculation does not overflow.
3768
3769         No new tests, covered by existing tests.
3770
3771         * rendering/RenderBlock.cpp:
3772         (WebCore::RenderBlock::adjustRectForColumns):
3773         Make the endOffset value be no less than the beforeBorderPadding
3774         value to ensure that endColumn is not negative.
3775
3776 2013-02-21  Eric Seidel  <eric@webkit.org>
3777
3778         LayoutTests/fast/encoding/parser-tests-*.html timeout with threaded HTML parser
3779         https://bugs.webkit.org/show_bug.cgi?id=109995
3780
3781         Reviewed by Adam Barth.
3782
3783         In the case where during main document onload, we
3784         load a new iframe, and then from within that iframe
3785         we run script to remove the iframe and call testRunner.notifyDone()
3786         the notifyDone() will not correctly dump because
3787         the testRunner does not yet realize that the main resource
3788         has completed loading.
3789
3790         In the main-thread parser, the testRunner does correctly know
3791         that the main thread has completed, because removing the iframe
3792         causes a didFailLoad callback to the embedder, because when
3793         the iframe is being removed, the DocumentLoader for that iframe
3794         is still on the stack and believe's its loading
3795         (because it has a MainResourceLoader which is also on the stack
3796         delivering us the bytes which contain this inline script).
3797
3798         In the threaded-parser case, the DocumentLoader and MainResourceLoader
3799         are no longer on the stack, as we are parsing the iframe asynchronously
3800         after all the bytes have been delivered, and the MainResourceLoader destroyed.
3801         Thus when DocumentLoader::stopLoading() is called, loading() returns
3802         false, and it returns early.  One might argue that we should remove that
3803         early return entirely, but it seemed safer to extend the idea of
3804         when we're loading to include the time when the parser is active.
3805
3806         This patch solves this by teaching the DocumentLoader that it is still
3807         "loading" so long as the parser is still active.
3808
3809         Also added a call to DocumentLoader::checkLoadComplete from
3810         Document::decrementActiveParserCount which seemed to cause
3811         http/tests/multipart/policy-ignore-crash.php to pass.
3812
3813         This causes http/tests/security/feed-urls-from-remote.html to timeout
3814         on chromium (but no other platforms that I'm aware of).  I believe this
3815         is due to a bug in our DRT implementation in the policyDelegate case
3816         (which AFAIK is not a codepath which Chromium actually uses in the wild).
3817         The test already times out on TOT if you remove the setCustomPolicyDelegate calls!
3818
3819         * loader/DocumentLoader.cpp:
3820         (WebCore::DocumentLoader::isLoading):
3821         (WebCore):
3822         * loader/DocumentLoader.h:
3823         (DocumentLoader):
3824
3825 2013-02-21  Erik Arvidsson  <arv@chromium.org>
3826
3827         Nodes should not have attributes property
3828         https://bugs.webkit.org/show_bug.cgi?id=110510
3829
3830         Reviewed by Adam Barth.
3831
3832         According to http://dom.spec.whatwg.org/ attributes and hasAttributes
3833         should be defined on Element and not on Node.
3834
3835         Test: fast/dom/Text/text-should-not-have-attributes.html
3836
3837         * dom/Element.idl:
3838         * dom/Node.idl:
3839
3840 2013-02-21  Tony Gentilcore  <tonyg@chromium.org>
3841
3842         Make BackgroundHTMLParser rewind the preload scanner instead of clear it
3843         https://bugs.webkit.org/show_bug.cgi?id=110517
3844
3845         Reviewed by Adam Barth.
3846
3847         No new tests becuase no new functionality.
3848
3849         * html/parser/BackgroundHTMLParser.cpp:
3850         (WebCore::BackgroundHTMLParser::resumeFrom):
3851         (WebCore::BackgroundHTMLParser::pumpTokenizer):
3852         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
3853         * html/parser/BackgroundHTMLParser.h:
3854         (Checkpoint):
3855         * html/parser/HTMLDocumentParser.cpp:
3856         (WebCore::HTMLDocumentParser::didFailSpeculation):
3857         * html/parser/HTMLDocumentParser.h:
3858         (ParsedChunk):
3859         * html/parser/HTMLPreloadScanner.cpp:
3860         (WebCore::TokenPreloadScanner::createCheckpoint):
3861         (WebCore):
3862         (WebCore::TokenPreloadScanner::rewindTo):
3863         * html/parser/HTMLPreloadScanner.h:
3864         (WebCore):
3865         (TokenPreloadScanner):
3866         (WebCore::TokenPreloadScanner::Checkpoint::Checkpoint):
3867         (Checkpoint):
3868
3869 2013-02-21  Sheriff Bot  <webkit.review.bot@gmail.com>
3870
3871         Unreviewed, rolling out r143536.
3872         http://trac.webkit.org/changeset/143536
3873         https://bugs.webkit.org/show_bug.cgi?id=110523
3874
3875         Causing a bunch of tests to fail on Windows, requires
3876         rebaselining (Requested by rfong on #webkit).
3877
3878         * config.h:
3879         * page/Settings.cpp:
3880         (WebCore):
3881         (WebCore::Settings::setShouldPaintNativeControls):
3882         * page/Settings.h:
3883         (Settings):
3884         (WebCore::Settings::shouldPaintNativeControls):
3885         * platform/win/ScrollbarThemeWin.cpp:
3886         (WebCore):
3887         * rendering/RenderThemeWin.cpp:
3888         (WebCore):
3889
3890 2013-02-21  Simon Fraser  <simon.fraser@apple.com>
3891
3892         Don't make an overhang shadow layer when the WKView has a transparent background
3893         https://bugs.webkit.org/show_bug.cgi?id=110429
3894
3895         Reviewed by Anders Carlsson.
3896
3897         When in coordinated scrolling mode, RenderLayerCompositor makes a layer to show
3898         the shadow around the content when rubber-banding. However, if the view is
3899         transparent, we don't want to make this layer, since it darkens the entire view.
3900
3901         * rendering/RenderLayerBacking.cpp:
3902         (WebCore::RenderLayerBacking::updateRootLayerConfiguration): Code was moved
3903         into viewHasTransparentBackground(), so just call that here.
3904         * rendering/RenderLayerCompositor.cpp:
3905         (WebCore::RenderLayerCompositor::requiresContentShadowLayer): Don't make
3906         a shadow layer when the view is transparent.
3907         (WebCore::RenderLayerCompositor::viewHasTransparentBackground): Return
3908         true if the view is transparent or has a non-opaque background color,
3909         and optionally return that color.
3910         * rendering/RenderLayerCompositor.h:
3911
3912 2013-02-21  Simon Fraser  <simon.fraser@apple.com>
3913
3914         [Safari] Crash with opacity + drop shadow filter + child element extending beyond filter outsets
3915         https://bugs.webkit.org/show_bug.cgi?id=107467
3916
3917         Reviewed by Dean Jackson.
3918         
3919         The filter code plays games with the current GraphicsContext, replacing the current
3920         context with one which will get filtered.
3921         
3922         This doesn't play nicely with the RenderLayer code which lazily starts transparency
3923         layers. If we don't start a transparency layer until painting a child of the filtered
3924         layer, then the transparency layer is started using the wrong context.
3925         
3926         Fix by eagerly starting transparency layers if we have both a filter and opacity.
3927
3928         Test: css3/filters/filter-with-opacity-and-children.html
3929
3930         * rendering/RenderLayer.cpp:
3931         (WebCore::RenderLayer::paintLayerContents):
3932
3933 2013-02-21  Tony Chang  <tony@chromium.org>
3934
3935         Autogenerate Settings that call setNeedsRecalcStyleInAllFrames when set
3936         https://bugs.webkit.org/show_bug.cgi?id=109989
3937
3938         Reviewed by Ryosuke Niwa.
3939
3940         Start generating the code for settings that call m_page->setNeedsRecalcStyleInAllFrames()
3941         when the value is changed. This allows us to generate 10 more settings. As a follow up, we
3942         can remove some methods from DRT/WTR after this.
3943
3944         No new tests, this is a build refactor and should not impact any test results.
3945
3946         * page/Settings.cpp:
3947         (WebCore::Settings::Settings): Remove member variables. Add SETTINGS_SETTER_BODIES macro that
3948         has the generated setter bodies.
3949         * page/Settings.h:
3950         (Settings): Remove code that is now generated.
3951         * page/Settings.in: Add new entries with setNeedsStyleRecalcWhenSetting=1
3952         * page/make_settings.pl:
3953         (defaultItemFactory): Add setNeedsStyleRecalcWhenSetting flag.
3954         (generateSettingsMacrosHeader): Print macro for setter bodies.
3955         (printConditionalMacros): Add setter body code.
3956         (printGettersAndSetters): Pass in setNeedsStyleRecalcWhenSetting so we know whether to inline the
3957         setter in the header or not.
3958         (printGetterAndSetter): Ditto.
3959         (printSetterBodies): Print macro for setter bodies.
3960         (printSetterBody): Print setter body for a single setting.
3961
3962 2013-02-21  Dean Jackson  <dino@apple.com>
3963
3964         Plug-in snapshotting code always accepts first snapshot
3965         https://bugs.webkit.org/show_bug.cgi?id=110495
3966
3967         Reviewed by Tim Horton.
3968
3969         When we detect a plugin that can be snapshotted we start capturing
3970         images until we find one that we believe isn't blank, or we timeout.
3971         I introduced a regression recently where we swap renderers as
3972         soon as the snapshot arrives, whether or not is is blank.
3973
3974         The fix was to have the embedder (currently only WK2) be the one
3975         who tells the HTMLPlugInElement to start displaying snapshots.
3976
3977         I also reduced the number of snapshot attempts we will make before
3978         giving up. We don't want to sit around for 66 seconds displaying nothing.
3979
3980         * html/HTMLPlugInElement.h:
3981         (WebCore::HTMLPlugInElement::setDisplayState): Make this a virtual function.
3982         * html/HTMLPlugInImageElement.cpp:
3983         (WebCore::HTMLPlugInImageElement::setDisplayState): Override to call the
3984             base class version, but swap renderers if we should move to the snapshot.
3985         (WebCore::HTMLPlugInImageElement::updateSnapshot): Don't swap renderers here any more.
3986         * html/HTMLPlugInImageElement.h: New virtual version of setDisplayState.
3987
3988 2013-02-21  Tony Gentilcore  <tonyg@chromium.org>
3989
3990         Tune BackgroundHTMLParser's pendingTokenLimit based on a benchmark
3991         https://bugs.webkit.org/show_bug.cgi?id=110408
3992
3993         Reviewed by Adam Barth.
3994
3995         This constant was tuned by running the top 25 sites in Telemetry on a Nexus 7 device.
3996         The new value decreases the maximum time spent parsing by 40% without significantly impacting total parse time or DOMContentLoaded.
3997
3998         No new tests because no new functionality.
3999
4000         * html/parser/BackgroundHTMLParser.cpp:
4001         (WebCore):
4002
4003 2013-02-21  Sheriff Bot  <webkit.review.bot@gmail.com>
4004
4005         Unreviewed, rolling out r143419.
4006         http://trac.webkit.org/changeset/143419
4007         https://bugs.webkit.org/show_bug.cgi?id=110507
4008
4009         Broke border-image on Mac (Requested by jpfau on #webkit).
4010
4011         * platform/graphics/GraphicsContext.cpp: