[CSSRegions]Crash when moving anonymous block children inside a named flow
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-23  Andrei Onea  <onea@adobe.com>
2
3         [CSSRegions]Crash when moving anonymous block children inside a named flow
4         https://bugs.webkit.org/show_bug.cgi?id=90865
5
6         Reviewed by Abhishek Arya.
7
8         When an anonymous block's children are detached in RenderBlock::collapseAnonymousBoxChild, the reference
9         to their enclosingRenderFlowThread is lost and causes a crash in RenderObject::willBeRemovedFromTree.
10         Because of this, we now maintain the enclosingRenderFlowThread during the whole lifetime of the
11         RenderBlock::collapseAnonymousBoxChild function, using a CurrentRenderFlowThreadMaintainer local.
12         
13
14         Test: fast/regions/move-anonymous-block-inside-named-flow-crash.html
15
16         * rendering/RenderBlock.cpp:
17         (WebCore::RenderBlock::collapseAnonymousBoxChild):
18         * rendering/RenderFlowThread.cpp:
19         (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
20         (WebCore):
21         (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
22         Moved CurrentRenderFlowThreadMaintaner declaration from .cpp to .h, so that we can access it from
23         RenderBlock::collapseAnonymousBoxChild.
24         * rendering/RenderFlowThread.h:
25         (CurrentRenderFlowThreadMaintainer):
26         (WebCore):
27         * rendering/RenderObject.cpp:
28         (WebCore::RenderObject::willBeRemovedFromTree):
29
30 2012-08-23  Kevin Ollivier  <kevino@theolliviers.com>
31
32         [wx] Unreviewed build fix. Add wx to the list of platforms that use CoreText
33         APIs on Mac.
34
35         * platform/graphics/SimpleFontData.h:
36         (SimpleFontData):
37
38 2012-08-23  Kevin Ollivier  <kevino@theolliviers.com>
39
40         [wx] Unreviewed build fix. Don't rely on implicit casts, explicitly use the
41         Cursor constructor that takes a platform cursor for creating native cursors.
42
43         * platform/wx/CursorWx.cpp:
44         (WebCore::pointerCursor):
45         (WebCore::crossCursor):
46         (WebCore::handCursor):
47         (WebCore::iBeamCursor):
48         (WebCore::waitCursor):
49         (WebCore::helpCursor):
50         (WebCore::eastResizeCursor):
51         (WebCore::northResizeCursor):
52         (WebCore::northEastResizeCursor):
53         (WebCore::northWestResizeCursor):
54         (WebCore::columnResizeCursor):
55         (WebCore::rowResizeCursor):
56         (WebCore::notAllowedCursor):
57         (WebCore::zoomInCursor):
58         (WebCore::moveCursor):
59
60 2012-08-23  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
61
62         Remove redundant check for negative values when using WebCore::Color::alpha()
63         https://bugs.webkit.org/show_bug.cgi?id=94811
64
65         Reviewed by Eric Seidel.
66
67         Though alpha() returns a signed value (int), its value is stored on an unsigned
68         typedef (RGBA32) and is safeguarded by alphaChannel() that its value never goes
69         beyond 255, so no integer overflow, thus we can safely remove redundant check
70         for negative values while using it.
71
72         This change does not affect behavior, so no new tests needed.
73
74         * platform/graphics/Image.cpp:
75         (WebCore::Image::fillWithSolidColor):
76         * rendering/RenderBoxModelObject.cpp:
77         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
78         (WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground): Using hasAlpha() for readibility.
79         * rendering/RenderView.cpp:
80         (WebCore::RenderView::paintBoxDecorations):
81         * rendering/style/RenderStyle.h:
82
83 2012-08-23  Zan Dobersek  <zandobersek@gmail.com>
84
85         [Gtk] Move feature defines processing into a GNUmakefile that's simple to autogenerate
86         https://bugs.webkit.org/show_bug.cgi?id=87127
87
88         Reviewed by Martin Robinson.
89
90         List all the feature defines with their default value in
91         GNUmakefile.features.am and append them to the 'feature_defines_defaults'.
92         variable.
93
94         In GNUmakefile.am, include the GNUmakefile.features.am. When checking the
95         AM conditionals for feature-enabling, append the appropriate define to
96         'feature_defines_overrides'.
97
98         After all such overrides are performed, append the proper define (of which
99         value was possibly overridden) for each feature to the 'feature_defines'
100         variable. Finally, append all these defines to webcore_cppflags in the form
101         of macros for preprocessing.
102
103         No new tests - no new functionality.
104
105         * GNUmakefile.am:
106         * GNUmakefile.features.am: Added.
107
108 2012-08-23  Adam Barth  <abarth@webkit.org>
109
110         [V8] ScheduledAction is ugly and needs a cleanup
111         https://bugs.webkit.org/show_bug.cgi?id=94784
112
113         Reviewed by Eric Seidel.
114
115         This patch updates ScheduledAction to use modern WebKit machinery, like
116         OwnHandle and Vector.
117
118         * bindings/v8/OwnHandle.h:
119         (OwnHandle):
120         * bindings/v8/ScheduledAction.cpp:
121         (WebCore::ScheduledAction::ScheduledAction):
122         (WebCore::ScheduledAction::~ScheduledAction):
123         (WebCore::ScheduledAction::execute):
124         * bindings/v8/ScheduledAction.h:
125         (WebCore):
126         (ScheduledAction):
127         (WebCore::ScheduledAction::ScheduledAction):
128
129 2012-08-23  Andrey Kosyakov  <caseq@chromium.org>
130
131         Web Inspector: dblclick on Timeline overview no longer selects entire timeline range
132         https://bugs.webkit.org/show_bug.cgi?id=94826
133
134         Reviewed by Vsevolod Vlasov.
135
136         Only install a glass pane for drag-n-drop upon first mouseout event -- otherwise, glass pane
137         will interfere with double clicks.
138
139         * inspector/front-end/UIUtils.js:
140         (WebInspector._elementDragStart.onMouseOut):
141         (WebInspector._elementDragStart):
142         (WebInspector._elementDragEnd):
143
144 2012-08-23  Adrienne Walker  <enne@google.com>
145
146         Convert ScrollableArea ASSERT_NOT_REACHED virtuals
147         https://bugs.webkit.org/show_bug.cgi?id=93306
148
149         Reviewed by Darin Adler.
150
151         ASSERT_NOT_REACHED is a bad way to make sure that a virtual function
152         gets an override, because it only fails at run-time in debug builds.
153
154         To fix this, convert the virtuals in ScrollableArea that have
155         ASSERT_NOT_REACHED to be either pure virtual or implemented directly
156         in ScrollableArea. Add implementations where necessary to make derived
157         classes concrete.
158
159         Additionally, consistently add OVERRIDE for virtual functions in
160         derived classes that override ScrollableArea methods.
161
162         * WebCore.exp.in:
163         * page/FrameView.h:
164         (FrameView):
165         * platform/ScrollView.h:
166         (ScrollView):
167         * platform/ScrollableArea.cpp:
168         (WebCore::ScrollableArea::scrollPosition):
169         (WebCore):
170         (WebCore::ScrollableArea::minimumScrollPosition):
171         (WebCore::ScrollableArea::maximumScrollPosition):
172         (WebCore::ScrollableArea::visibleContentRect):
173         * platform/ScrollableArea.h:
174         (ScrollableArea):
175         (WebCore::ScrollableArea::overhangAmount):
176         * platform/chromium/FramelessScrollView.cpp:
177         (WebCore::FramelessScrollView::isOnActivePage):
178         (WebCore):
179         (WebCore::FramelessScrollView::scrollableAreaBoundingBox):
180         * platform/chromium/FramelessScrollView.h:
181         (FramelessScrollView):
182         * platform/win/PopupMenuWin.cpp:
183         (WebCore::PopupMenuWin::visibleHeight):
184         (WebCore):
185         (WebCore::PopupMenuWin::visibleWidth):
186         (WebCore::PopupMenuWin::contentsSize):
187         (WebCore::PopupMenuWin::isOnActivePage):
188         (WebCore::PopupMenuWin::scrollableAreaBoundingBox):
189         * platform/win/PopupMenuWin.h:
190         (PopupMenuWin):
191         * rendering/RenderListBox.cpp:
192         * rendering/RenderListBox.h:
193         (RenderListBox):
194
195 2012-08-23  Alexander Shalamov  <alexander.shalamov@intel.com>
196
197         getComputedStyle returns wrong value for CSS3 2D transformations
198         https://bugs.webkit.org/show_bug.cgi?id=94211
199
200         Reviewed by Simon Fraser.
201
202         When computed style is calculated for CSS3 2D transformation, content
203         box size is used. According to W3C specification, object's bounding
204         box should be used. This patch fixes transformation matrix calculation.
205
206         Layout tests getComputedStyle-transform.html and computed-style-origin.html
207         were modified to test changes.
208
209         * css/CSSComputedStyleDeclaration.cpp:
210         (WebCore::computedTransform):
211         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
212         (WebCore::pixelSnappedSizingBox): Removed unused method
213
214 2012-08-23  Takashi Sakamoto  <tasak@google.com>
215
216         Distributed nodes should not share styles.
217         https://bugs.webkit.org/show_bug.cgi?id=90661
218
219         Reviewed by Hajime Morita.
220
221         styleForElement tries to use previous sibling's style for distributed
222         nodes. However distributed nodes are children of a shadow host, but
223         the nodes are not siblings as the result of distribution.
224         The spec is:
225         http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#shadow-dom-subtrees
226         So sharing previous sibling's style should be disabled for distrbuted
227         nodes.
228
229         Test: fast/dom/shadow/style-of-distributed-node.html
230
231         * css/StyleResolver.cpp:
232         (WebCore::StyleResolver::StyleResolver):
233         Initialized m_distributedToInsertionPoint. Its initial value is false.
234         (WebCore::StyleResolver::initForStyleResolve):
235         After invoking NodeRenderingContext, if the context returns any
236         insertion point, set m_distributedToInsertionPoint to be true.
237         Otherwise, false. The value is used in styleForElement.
238         (WebCore::StyleResolver::styleForElement):
239         If m_distributedToInsertionPoint is true, disable local sibling style
240         cache.
241         * css/StyleResolver.h:
242         (StyleResolver):
243         Added a new member variable, m_distributedToInsertionPoint.
244         The variable keeps whether the m_element is distributed to an
245         insertion point.
246
247 2012-08-23  John Griggs  <jgriggs@rim.com>
248
249                 Replace access ot HTMLMediaElement from MediaPlayerPrivateBlackBerry with methods in MediaPlayerClient - updated with notes from initial reviews.  https://bugs.webkit.org/show_bug.cgi?id=84291
250
251                 Reviewed by Eric Carlson.
252
253                 Code standard compliance - no functional change, so no new tests required.
254
255                 * html/HTMLMediaElement.cpp:
256                 (WebCore::HTMLMediaElement::mediaPlayerExitFullscreen):
257                 (WebCore):
258                 (WebCore::HTMLMediaElement::mediaPlayerIsVideo):
259                 (WebCore::HTMLMediaElement::mediaPlayerContentBoxRect):
260                 (WebCore::HTMLMediaElement::mediaPlayerSetSize):
261                 (WebCore::HTMLMediaElement::mediaPlayerPause):
262                 (WebCore::HTMLMediaElement::mediaPlayerPlay):
263                 (WebCore::HTMLMediaElement::mediaPlayerIsPaused):
264                 (WebCore::HTMLMediaElement::mediaPlayerHostWindow):
265                 (WebCore::HTMLMediaElement::mediaPlayerWindowClipRect):
266                 * html/HTMLMediaElement.h:
267                 (HTMLMediaElement):
268                 * platform/graphics/MediaPlayer.h:
269                 (WebCore):
270                 (WebCore::MediaPlayerClient::mediaPlayerExitFullscreen):
271                 (WebCore::MediaPlayerClient::mediaPlayerIsVideo):
272                 (WebCore::MediaPlayerClient::mediaPlayerContentBoxRect):
273                 (WebCore::MediaPlayerClient::mediaPlayerSetSize):
274                 (WebCore::MediaPlayerClient::mediaPlayerPause):
275                 (WebCore::MediaPlayerClient::mediaPlayerPlay):
276                 (WebCore::MediaPlayerClient::mediaPlayerIsPaused):
277                 (WebCore::MediaPlayerClient::mediaPlayerHostWindow):
278                 (WebCore::MediaPlayerClient::mediaPlayerWindowClipRect):
279                 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
280                 (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
281                 (WebCore::MediaPlayerPrivate::load):
282                 (WebCore::MediaPlayerPrivate::paint):
283                 (WebCore::MediaPlayerPrivate::resizeSourceDimensions):
284                 (WebCore::MediaPlayerPrivate::updateStates):
285                 (WebCore::MediaPlayerPrivate::onPauseStateChanged):
286                 (WebCore::MediaPlayerPrivate::onPlayNotified):
287                 (WebCore::MediaPlayerPrivate::onPauseNotified):
288                 (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
289                 (WebCore::MediaPlayerPrivate::showErrorDialog):
290                 (WebCore::MediaPlayerPrivate::platformWindow):
291                 (WebCore::MediaPlayerPrivate::isElementPaused):
292                 (WebCore::MediaPlayerPrivate::isTabVisible):
293                 * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
294                 (MediaPlayerPrivate):
295
296 2012-08-23  John Mellor  <johnme@chromium.org>
297
298         Text Autosizing: Multiply large fonts less, as they are already more legible.
299         https://bugs.webkit.org/show_bug.cgi?id=94227
300
301         Reviewed by Kenneth Rohde Christiansen.
302
303         Rather than uniformly multiplying font sizes by the multiplier (derived
304         from the width of the block), we should multiply fonts that are already
305         large less, since they are already more legible hence there is less need
306         for them to grow.
307
308         However it is still important to maintain differentiation between text
309         that the author specified to be of different sizes.
310
311         This algorithm multiplies text by the multiplier up until a predefined
312         "pleasant" font size; beyond that the computedSize goes up with
313         specifiedSize but at a gradient of less than 1 in order to gradually
314         fade out the size increase; finally for very large specifiedSizes the
315         computedSize will be the same as the specifiedSize.
316
317         For further details, including a graph, please see the bug report.
318
319         Test: fast/text-autosizing/various-font-sizes.html
320
321         * rendering/TextAutosizer.cpp:
322         (WebCore::TextAutosizer::computeAutosizedFontSize):
323
324             Implements the custom multiplication. See comment for details.
325
326         * rendering/style/RenderStyle.cpp:
327         (WebCore::RenderStyle::lineHeight):
328
329             Use computeAutosizedFontSize instead of directly multiplying.
330
331         (WebCore::RenderStyle::setFontSize):
332
333             Use computeAutosizedFontSize instead of directly multiplying.
334
335 2012-08-23  Emil A Eklund  <eae@chromium.org>
336
337         Remove dependency on RenderStyle from FractionalLayoutBoxExtent and LayoutBox
338         https://bugs.webkit.org/show_bug.cgi?id=94146
339
340         Reviewed by Eric Seidel.
341
342         FractionalLayoutBoxExtent and LayoutBox currently have a dependency on
343         RenderStyle to resolve writing mode and text direction.
344         This is undesirable and breaks encapsulation.
345
346         Change FractionalLayoutBoxExtent and LengthBox to take a writing mode
347         parameter, and text direction as needed, instead of a pointer to a
348         RenderStyle object.
349
350         No new tests, no change in functionality.
351
352         * WebCore.gypi:
353         * WebCore.vcproj/WebCore.vcproj:
354         * WebCore.xcodeproj/project.pbxproj:
355         Add new WritingMode.h file.
356         
357         * css/CSSPrimitiveValueMappings.h:
358         * css/CSSProperty.h:
359         * css/CSSToStyleMap.h:
360         Change includes as needed.
361
362         * platform/LengthBox.h:
363         * platform/LengthBox.cpp:
364         (WebCore::LengthBox::logicalLeft):
365         (WebCore::LengthBox::logicalRight):
366         (WebCore::LengthBox::before):
367         (WebCore::LengthBox::after):
368         Change methods to take a WirtingMode parameter instead of a RenderStyle pointer.
369         
370         (WebCore::LengthBox::start):
371         (WebCore::LengthBox::end):
372         Change methods to take WritingMode and TextDirection parameters instead of a RenderStyle pointer.
373         
374         * platform/graphics/FractionalLayoutBoxExtent.h:
375         * platform/graphics/FractionalLayoutBoxExtent.cpp:
376         (WebCore::FractionalLayoutBoxExtent::logicalTop):
377         (WebCore::FractionalLayoutBoxExtent::logicalBottom):
378         (WebCore::FractionalLayoutBoxExtent::logicalLeft):
379         (WebCore::FractionalLayoutBoxExtent::logicalRight):
380         (WebCore::FractionalLayoutBoxExtent::before):
381         (WebCore::FractionalLayoutBoxExtent::after):
382         (WebCore::FractionalLayoutBoxExtent::setBefore):
383         (WebCore::FractionalLayoutBoxExtent::setAfter):
384         (WebCore::FractionalLayoutBoxExtent::mutableLogicalLeft):
385         (WebCore::FractionalLayoutBoxExtent::mutableLogicalRight):
386         (WebCore::FractionalLayoutBoxExtent::mutableBefore):
387         (WebCore::FractionalLayoutBoxExtent::mutableAfter):
388         Change methods to take a WritingMode parameter instead of a RenderStyle pointer.
389
390         (WebCore::FractionalLayoutBoxExtent::start):
391         (WebCore::FractionalLayoutBoxExtent::end):
392         (WebCore::FractionalLayoutBoxExtent::setStart):
393         (WebCore::FractionalLayoutBoxExtent::setEnd):
394         Change methods to take WritingMode and TextDirection parameters instead of a RenderStyle pointer.
395
396         * platform/text/TextDirection.h:
397         (WebCore::isLeftToRightDirection):
398         Add convenience method.
399         
400         * platform/text/WritingMode.h: Added.
401         Move WritingMode enum from RenderStyleConstants to new file.
402         
403         (WebCore::isHorizontalWritingMode):
404         (WebCore::isFlippedLinesWritingMode):
405         (WebCore::isFlippedBlocksWritingMode):
406         Add convenience methods for working with writing modes.
407         
408         * rendering/InlineFlowBox.cpp:
409         * rendering/RenderBox.cpp:
410         * rendering/RenderBox.h:
411         * rendering/style/RenderStyle.h:
412         Update calls to FractionalLayoutBoxExtent/LengthBox to pass WritingMode/
413         TextDirection as needed.
414
415         * rendering/style/RenderStyleConstants.h:
416         Remove WritingMode enum as it is now in a dedicated file.
417
418 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
419
420         Web Inspector: introduce canFilter on panel (otherwise we check for function existence).
421         https://bugs.webkit.org/show_bug.cgi?id=94820
422
423         Reviewed by Alexander Pavlov.
424
425         Drive-by: fix for network panel sorting null pointer access.
426
427         * inspector/front-end/NetworkPanel.js:
428         (WebInspector.NetworkPanel.prototype.performSearch):
429         (WebInspector.NetworkPanel.prototype.canFilter):
430         * inspector/front-end/Panel.js:
431         (WebInspector.Panel.prototype.replaceAllWith):
432         (WebInspector.Panel.prototype.canFilter):
433         (WebInspector.Panel.prototype.performFilter):
434         * inspector/front-end/SearchController.js:
435         (WebInspector.SearchController.prototype._updateFilterVisibility):
436         (WebInspector.SearchController.prototype._performFilter):
437
438 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
439
440         Web Inspector: introduce TimelineGrid.Calculator interface.
441         https://bugs.webkit.org/show_bug.cgi?id=94819
442
443         Reviewed by Alexander Pavlov.
444
445         This way we can compile TimelineGrid properly.
446
447         * inspector/front-end/MemoryStatistics.js:
448         (WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes):
449         * inspector/front-end/TimelineGrid.js:
450         (WebInspector.TimelineGrid.prototype.updateDividers):
451         (WebInspector.TimelineGrid.Calculator):
452         (WebInspector.TimelineGrid.Calculator.prototype.computePosition):
453         (WebInspector.TimelineGrid.Calculator.prototype.formatTime):
454         (WebInspector.TimelineGrid.Calculator.prototype.minimumBoundary):
455         (WebInspector.TimelineGrid.Calculator.prototype.maximumBoundary):
456         (WebInspector.TimelineGrid.Calculator.prototype.boundarySpan):
457         * inspector/front-end/TimelineOverviewPane.js:
458         (WebInspector.TimelineOverviewCalculator.prototype.computePosition):
459         (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
460         (WebInspector.TimelineOverviewCalculator.prototype.setWindow):
461         (WebInspector.TimelineOverviewCalculator.prototype.formatTime):
462         (WebInspector.TimelineOverviewCalculator.prototype.maximumBoundary):
463         (WebInspector.TimelineOverviewCalculator.prototype.minimumBoundary):
464         (WebInspector.TimelineOverviewCalculator.prototype.boundarySpan):
465         * inspector/front-end/TimelinePanel.js:
466         (WebInspector.TimelinePanel.prototype._shouldShowFrames):
467         (WebInspector.TimelineCalculator.prototype.computePosition):
468         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
469         (WebInspector.TimelineCalculator.prototype.setWindow):
470         (WebInspector.TimelineCalculator.prototype.formatTime):
471         (WebInspector.TimelineCalculator.prototype.maximumBoundary):
472         (WebInspector.TimelineCalculator.prototype.minimumBoundary):
473         (WebInspector.TimelineCalculator.prototype.boundarySpan):
474
475 2012-08-23  David Reveman  <reveman@chromium.org>
476
477         [Chromium] Unnecessary delay when starting to update resources with an inactive vsync timer.
478         https://bugs.webkit.org/show_bug.cgi?id=94719
479
480         Reviewed by James Robinson.
481
482         Replace nextTickTime() with nextTickTimeIfActivated() and return
483         appropriate value when timer is inactive.
484
485         No new tests.
486
487         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
488         (WebCore::CCDelayBasedTimeSource::nextTickTimeIfActivated):
489         (WebCore::CCDelayBasedTimeSource::nextTickTarget):
490         (WebCore):
491         (WebCore::CCDelayBasedTimeSource::postNextTickTask):
492         * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
493         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
494         (WebCore::CCFrameRateController::nextTickTimeIfActivated):
495         * platform/graphics/chromium/cc/CCFrameRateController.h:
496         (CCFrameRateController):
497         * platform/graphics/chromium/cc/CCScheduler.cpp:
498         (WebCore::CCScheduler::processScheduledActions):
499         * platform/graphics/chromium/cc/CCTimeSource.h:
500         (CCTimeSource):
501
502 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
503
504         Web Inspector: make treeoutline.js compiler-friendly
505         https://bugs.webkit.org/show_bug.cgi?id=94818
506
507         Reviewed by Alexander Pavlov.
508
509         This change declares base methods on TreeElement so that we did not need to check for their existence.
510
511         * inspector/front-end/AdvancedSearchController.js:
512         (WebInspector.FileBasedSearchResultsPane.prototype._appendShowMoreMatchesElement):
513         (WebInspector.FileBasedSearchResultsPane.prototype._addFileTreeElement):
514         * inspector/front-end/ElementsTreeOutline.js:
515         (WebInspector.ElementsTreeElement.prototype.onselect):
516         * inspector/front-end/SidebarPane.js:
517         (WebInspector.SidebarPane.prototype.expand):
518         (WebInspector.SidebarPane.prototype.onexpand):
519         (WebInspector.SidebarPane.prototype.collapse):
520         * inspector/front-end/treeoutline.js:
521         (TreeOutline.prototype._treeKeyDown):
522         (TreeOutline.prototype._searchInputKeyDown):
523         (TreeElement.prototype._fireDidChange):
524         (TreeElement.prototype._attach):
525         (TreeElement.treeElementDoubleClicked):
526         (TreeElement.prototype.collapse):
527         (TreeElement.prototype.expand):
528         (TreeElement.prototype.reveal):
529         (TreeElement.prototype.select):
530         (TreeElement.prototype.deselect):
531         (TreeElement.prototype.onpopulate):
532         (TreeElement.prototype.onenter):
533         (TreeElement.prototype.ondelete):
534         (TreeElement.prototype.onspace):
535         (TreeElement.prototype.onattach):
536         (TreeElement.prototype.onexpand):
537         (TreeElement.prototype.oncollapse):
538         (TreeElement.prototype.ondblclick):
539         (TreeElement.prototype.onreveal):
540         (TreeElement.prototype.onselect):
541
542 2012-08-23  Yury Semikhatsky  <yurys@chromium.org>
543
544         Web Inspector: use temporary directory for modules generated by compile-front-end.py
545         https://bugs.webkit.org/show_bug.cgi?id=94804
546
547         Reviewed by Pavel Feldman.
548
549         Create temporary directory for generated js modules and remove the directory
550         after the compilation.
551
552         * inspector/compile-front-end.py:
553
554 2012-08-23  Simon Hausmann  <simon.hausmann@nokia.com>
555
556         [Qt] Fix make install on Windows
557         https://bugs.webkit.org/show_bug.cgi?id=94816
558
559         Reviewed by Laszlo Gombos.
560
561         This old left-over rule for Windows to add dlltarget to INSTALLS caused
562         various bugs: WebCore's Makefile had an actual install target that
563         tried to install the WebCore static library and it also screwed up
564         api.pri's install rule by overriding what is usually set up for qt
565         modules, i.e. the install path was missing INSTALL_ROOT. We don't need
566         these rules at all, the default qmake features take care of setting up
567         target install rules accordingly.
568
569         * WebCore.pri:
570
571 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
572
573         Web Inspector: extract ParsedURL into a separate file.
574         https://bugs.webkit.org/show_bug.cgi?id=94817
575
576         Reviewed by Alexander Pavlov.
577
578         * WebCore.gypi:
579         * WebCore.vcproj/WebCore.vcproj:
580         * inspector/compile-front-end.py:
581         * inspector/front-end/AuditRules.js:
582         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
583         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
584         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
585         * inspector/front-end/DefaultTextEditor.js:
586         (WebInspector.TextEditorMainPanel.prototype._rewriteHref):
587         * inspector/front-end/ParsedURL.js: Added.
588         (WebInspector.ParsedURL):
589         (WebInspector.ParsedURL.completeURL):
590         (WebInspector.ParsedURL.prototype.get displayName):
591         (String.prototype.asParsedURL):
592         * inspector/front-end/ResourceUtils.js:
593         (WebInspector.resourceURLForRelatedNode):
594         * inspector/front-end/StylesSidebarPane.js:
595         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
596         * inspector/front-end/WebKit.qrc:
597         * inspector/front-end/inspector.html:
598
599 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
600
601         Web Inspector: register context menu providers for lazily loaded panels.
602         https://bugs.webkit.org/show_bug.cgi?id=94812
603
604         Reviewed by Alexander Pavlov.
605
606         - Panel descriptors now register providers that lazily load panels on demand.
607         - Removed custom profiles context provider infrastructure in favor of generic one.
608
609         * WebCore.gypi:
610         * WebCore.vcproj/WebCore.vcproj:
611         * inspector/compile-front-end.py:
612         * inspector/front-end/NetworkPanel.js:
613         (WebInspector.NetworkPanel):
614         * inspector/front-end/NetworkPanelDescriptor.js: Added.
615         (WebInspector.NetworkPanelDescriptor):
616         (WebInspector.NetworkPanelDescriptor.prototype.appendApplicableItems):
617         * inspector/front-end/ObjectPropertiesSection.js:
618         (WebInspector.ObjectPropertiesSection.prototype._contextMenuEventFired):
619         * inspector/front-end/ProfilesPanel.js:
620         (WebInspector.ProfilesPanel):
621         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
622         (WebInspector.ProfilesPanel.prototype.appendApplicableItems.didReceiveHeapObjectId):
623         (WebInspector.ProfilesPanel.prototype.appendApplicableItems):
624         * inspector/front-end/ScriptsPanel.js:
625         (WebInspector.ScriptsPanel):
626         * inspector/front-end/ScriptsPanelDescriptor.js: Added.
627         (WebInspector.ScriptsPanelDescriptor):
628         (WebInspector.ScriptsPanelDescriptor.prototype.appendApplicableItems):
629         * inspector/front-end/WebKit.qrc:
630         * inspector/front-end/inspector.html:
631         * inspector/front-end/inspector.js:
632         (WebInspector._panelDescriptors):
633
634 2012-08-23  Carlos Garcia Campos  <cgarcia@igalia.com>
635
636         Unreviewed. Fix make distcheck.
637
638         * GNUmakefile.am: Add idl files in Modules/quota to EXTRA_DIST.
639         * GNUmakefile.list.am: Add missing files to compilation.
640
641 2012-08-23  Carlos Garcia Campos  <cgarcia@igalia.com>
642
643         REGRESSION(r126306): it broke the plugin process
644         https://bugs.webkit.org/show_bug.cgi?id=94797
645
646         Reviewed by Xan Lopez.
647
648         * GNUmakefile.am:
649         * GNUmakefile.list.am:
650
651 2012-08-23  Simon Hausmann  <simon.hausmann@nokia.com>
652
653         Unreviewed trivial build fix for Qt/Mac on OS X 10.6: Avoid using an
654         enum value that clashes with an existing class name that's used in the
655         same file.
656
657         * bridge/qt/qt_runtime.cpp:
658         (JSC::Bindings::valueRealType):
659         (JSC::Bindings::convertValueToQVariant):
660
661 2012-08-22  Patrick Gansterer  <paroga@webkit.org>
662
663         Build fix for WinCE after r126359.
664
665         * rendering/RenderThemeWinCE.cpp:
666
667 2012-08-23  Dominic Cooney  <dominicc@chromium.org>
668
669         Unreviewed, rolling out r126391.
670         http://trac.webkit.org/changeset/126391
671         https://bugs.webkit.org/show_bug.cgi?id=94302
672
673         Breaks Chromium browser_tests AccessibilityFooter,
674         AccessibilityListMarkers, AccessibilityUI
675
676         * accessibility/AccessibilityNodeObject.cpp:
677         * accessibility/AccessibilityNodeObject.h:
678         (AccessibilityNodeObject):
679         * accessibility/AccessibilityObject.cpp:
680         * accessibility/AccessibilityObject.h:
681         (AccessibilityObject):
682         * accessibility/AccessibilityRenderObject.cpp:
683         (WebCore::AccessibilityRenderObject::title):
684         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
685         (WebCore::AccessibilityRenderObject::isDescendantOfElementType):
686         * accessibility/AccessibilityRenderObject.h:
687         (AccessibilityRenderObject):
688
689 2012-08-23  Andrey Adaikin  <aandrey@chromium.org>
690
691         Web Inspector: [WebGL] Allow collecting calls for Resource objects affecting their states
692         https://bugs.webkit.org/show_bug.cgi?id=94686
693
694         Reviewed by Pavel Feldman.
695
696         Allow collecting calls for WebGL Resource objects affecting their states.
697         Clone Call's mutable arguments before pushing it to the log.
698
699         * inspector/InjectedScriptWebGLModuleSource.js:
700         (.):
701
702 2012-08-23  Robin Cao  <robin.cao@torchmobile.com.cn>
703
704         [BlackBerry] draw <video> on <canvas> does not work
705         https://bugs.webkit.org/show_bug.cgi?id=94791
706         PR #195866
707
708         Reviewed by George Staikos.
709
710         Re-implement MediaPlayerPrivate::paintCurrentFrameInContext() in the
711         blackberry port. This method is mainly called from <canvas>, and it
712         is supposed to paint video frames using software rendering path.
713
714         On the other hand, MediaPlayerPrivate::paint() will choose accelerated
715         rendering if possible.
716
717         media/video-canvas-alpha.html covers this.
718
719         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
720         (WebCore::MediaPlayerPrivate::paint):
721         (WebCore):
722         (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
723         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
724         (MediaPlayerPrivate):
725
726 2012-08-23  Kentaro Hara  <haraken@chromium.org>
727
728         Unreviewed. Build fix for r126399.
729
730         * bindings/v8/ScriptInstance.cpp:
731
732 2012-08-23  Pavel Feldman  <pfeldman@chromium.org>
733
734         Web Inspector: treat 0 cookies as "no cookies" and render it accordingly in the UI
735         https://bugs.webkit.org/show_bug.cgi?id=94732
736
737         Reviewed by Yury Semikhatsky.
738
739         * inspector/front-end/RequestCookiesView.js:
740         (WebInspector.RequestCookiesView.prototype.get _gotCookies):
741
742 2012-08-23  KwangYong Choi  <ky0.choi@samsung.com>
743
744         [EFL] Use vertical slider theme when the slider is vertical
745         https://bugs.webkit.org/show_bug.cgi?id=93838
746
747         Reviewed by Kenneth Rohde Christiansen.
748
749         Applied vertical slider theme to the vertical sliders. The height
750         of the vertical slider is wrong when it's applied horizontal
751         slider theme.
752
753         And do not resize slider when its size is not specified. It's natural
754         to use the default value of renderer.
755
756         No new tests. It's covered by existing range and datalist tests.
757
758         * platform/efl/RenderThemeEfl.cpp:
759         (WebCore::RenderThemeEfl::adjustSliderTrackStyle):
760
761 2012-08-23  Kentaro Hara  <haraken@chromium.org>
762
763         [V8] Remove almost all #include "V8Proxy.h"
764         https://bugs.webkit.org/show_bug.cgi?id=94777
765
766         Reviewed by Adam Barth.
767
768         No tests. No change in behavior.
769
770         * bindings/v8/NPV8Object.cpp:
771         * bindings/v8/PageScriptDebugServer.cpp:
772         * bindings/v8/ScheduledAction.cpp:
773         * bindings/v8/ScriptController.cpp:
774         * bindings/v8/ScriptInstance.cpp:
775         * bindings/v8/ScriptObject.cpp:
776         * bindings/v8/ScriptRunner.cpp:
777         * bindings/v8/SerializedScriptValue.cpp:
778         * bindings/v8/V8AbstractEventListener.cpp:
779         * bindings/v8/V8Binding.h:
780         (WebCore):
781         * bindings/v8/V8BindingMacros.h:
782         (WebCore):
783         * bindings/v8/V8Collection.h:
784         * bindings/v8/V8DOMWindowShell.cpp:
785         * bindings/v8/V8DOMWrapper.cpp:
786         * bindings/v8/V8EventListener.cpp:
787         * bindings/v8/V8GCController.cpp:
788         * bindings/v8/V8LazyEventListener.cpp:
789         * bindings/v8/V8NPObject.cpp:
790         * bindings/v8/V8NPUtils.cpp:
791         * bindings/v8/V8Proxy.h:
792         (WebCore):
793         * bindings/v8/V8Utilities.cpp:
794         * bindings/v8/WorkerContextExecutionProxy.cpp:
795         * bindings/v8/WorkerScriptController.cpp:
796         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
797         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
798         * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
799         * bindings/v8/custom/V8AudioContextCustom.cpp:
800         * bindings/v8/custom/V8BlobCustom.cpp:
801         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
802         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
803         * bindings/v8/custom/V8ClipboardCustom.cpp:
804         * bindings/v8/custom/V8ConsoleCustom.cpp:
805         * bindings/v8/custom/V8CoordinatesCustom.cpp:
806         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
807         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
808         * bindings/v8/custom/V8DataViewCustom.cpp:
809         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
810         * bindings/v8/custom/V8DeviceMotionEventCustom.cpp:
811         * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
812         * bindings/v8/custom/V8DocumentCustom.cpp:
813         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
814         * bindings/v8/custom/V8EntryCustom.cpp:
815         * bindings/v8/custom/V8EntrySyncCustom.cpp:
816         * bindings/v8/custom/V8EventCustom.cpp:
817         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
818         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
819         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
820         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
821         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
822         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
823         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
824         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
825         * bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
826         * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
827         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
828         * bindings/v8/custom/V8HTMLOutputElementCustom.cpp:
829         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
830         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
831         * bindings/v8/custom/V8HistoryCustom.cpp:
832         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
833         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
834         * bindings/v8/custom/V8IntentConstructor.cpp:
835         * bindings/v8/custom/V8JavaScriptCallFrameCustom.cpp:
836         * bindings/v8/custom/V8LocationCustom.cpp:
837         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
838         * bindings/v8/custom/V8MessageEventCustom.cpp:
839         * bindings/v8/custom/V8MessagePortCustom.cpp:
840         * bindings/v8/custom/V8MutationCallbackCustom.cpp:
841         * bindings/v8/custom/V8MutationObserverCustom.cpp:
842         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
843         * bindings/v8/custom/V8NodeCustom.cpp:
844         * bindings/v8/custom/V8NodeListCustom.cpp:
845         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
846         * bindings/v8/custom/V8NotificationCustom.cpp:
847         * bindings/v8/custom/V8PopStateEventCustom.cpp:
848         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
849         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
850         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
851         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
852         * bindings/v8/custom/V8ScriptProfileCustom.cpp:
853         * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
854         * bindings/v8/custom/V8StorageCustom.cpp:
855         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
856         * bindings/v8/custom/V8TrackEventCustom.cpp:
857         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
858         * bindings/v8/custom/V8WebKitAnimationCustom.cpp:
859         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
860         * bindings/v8/custom/V8WebSocketCustom.cpp:
861         * bindings/v8/custom/V8WorkerContextCustom.cpp:
862         * bindings/v8/custom/V8WorkerCustom.cpp:
863         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
864         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
865         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
866
867 2012-08-22  Kentaro Hara  <haraken@chromium.org>
868
869         Unreviewed, rolling out r126348.
870         http://trac.webkit.org/changeset/126348
871         https://bugs.webkit.org/show_bug.cgi?id=94588
872
873         We should use v8::String::NewSymbol() for symbols. See
874         https://bugs.webkit.org/show_bug.cgi?id=94574#c10 for more
875         details
876
877         * bindings/scripts/CodeGeneratorV8.pm:
878         (GenerateNormalAttrGetter):
879         (GenerateNormalAttrSetter):
880         (GenerateNamedConstructorCallback):
881         (GenerateNonStandardFunction):
882         (GenerateImplementation):
883         * bindings/scripts/test/V8/V8Float64Array.cpp:
884         (WebCore::ConfigureV8Float64ArrayTemplate):
885         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
886         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
887         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
888         (WebCore::ConfigureV8TestEventTargetTemplate):
889         * bindings/scripts/test/V8/V8TestInterface.cpp:
890         (WebCore::ConfigureV8TestInterfaceTemplate):
891         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
892         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
893         * bindings/scripts/test/V8/V8TestObj.cpp:
894         (WebCore::ConfigureV8TestObjTemplate):
895         (WebCore::V8TestObj::installPerContextProperties):
896         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
897         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
898         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetter):
899         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):
900         * bindings/v8/V8Binding.h:
901         (WebCore):
902
903 2012-08-22  Kentaro Hara  <haraken@chromium.org>
904
905         [V8] Remove V8Proxy from CodeGeneratorV8.pm
906         https://bugs.webkit.org/show_bug.cgi?id=94773
907
908         Reviewed by Adam Barth.
909
910         To kill V8Proxy, we can remove V8Proxy uses from CodeGeneratorV8.pm.
911
912         No tests. No change in behavior.
913
914         * bindings/scripts/CodeGeneratorV8.pm:
915         (GenerateToV8Converters):
916         * bindings/scripts/test/V8/V8Float64Array.cpp:
917         (WebCore::V8Float64Array::wrapSlow):
918         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
919         (WebCore::V8TestActiveDOMObject::wrapSlow):
920         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
921         (WebCore::V8TestCustomNamedGetter::wrapSlow):
922         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
923         (WebCore::V8TestEventConstructor::wrapSlow):
924         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
925         (WebCore::V8TestEventTarget::wrapSlow):
926         * bindings/scripts/test/V8/V8TestException.cpp:
927         (WebCore::V8TestException::wrapSlow):
928         * bindings/scripts/test/V8/V8TestInterface.cpp:
929         (WebCore::V8TestInterface::wrapSlow):
930         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
931         (WebCore::V8TestMediaQueryListListener::wrapSlow):
932         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
933         (WebCore::V8TestNamedConstructor::wrapSlow):
934         * bindings/scripts/test/V8/V8TestNode.cpp:
935         (WebCore::V8TestNode::wrapSlow):
936         * bindings/scripts/test/V8/V8TestObj.cpp:
937         (WebCore::V8TestObj::wrapSlow):
938         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
939         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
940
941 2012-08-22  Sukolsak Sakshuwong  <sukolsak@google.com>
942
943         Implement UndoManager's item() method
944         https://bugs.webkit.org/show_bug.cgi?id=94671
945
946         Reviewed by Ryosuke Niwa.
947
948         This patch implements UndoManager's item() method and its V8 custom binding.
949         We need to use custom binding here because we need to return user objects
950         that are stored in a hidden property of DOMTransaction wrappers, not returning
951         the wrappers themselves.
952
953         Test: editing/undomanager/undomanager-item.html
954
955         * bindings/js/JSUndoManagerCustom.cpp:
956         (WebCore::JSUndoManager::item):
957         (WebCore):
958         * bindings/v8/DOMTransaction.cpp:
959         (WebCore::DOMTransaction::data):
960         (WebCore):
961         (WebCore::DOMTransaction::setData):
962         (WebCore::DOMTransaction::getFunction):
963         * bindings/v8/DOMTransaction.h:
964         * bindings/v8/custom/V8UndoManagerCustom.cpp:
965         (WebCore::V8UndoManager::transactCallback):
966         (WebCore::V8UndoManager::itemCallback):
967         (WebCore):
968         * editing/UndoManager.cpp:
969         (WebCore::UndoManager::item):
970         (WebCore):
971         * editing/UndoManager.h:
972         (UndoManager):
973         * editing/UndoManager.idl:
974
975 2012-08-22  Dominic Mazzoni  <dmazzoni@google.com>
976
977         AX: Focusable elements without a role should not be ignored
978         https://bugs.webkit.org/show_bug.cgi?id=94302
979
980         Reviewed by Chris Fleizach.
981
982         Changes the accessibility logic so that a generic element that's focusable is
983         not ignored for accessibility, and returns its inner text as its title. That way
984         if you Tab to the element, a reasonable accessibility notification is generated.
985
986         One exception is the body element, because focusing the body is equivalent to
987         blurring the current focused element and does not result in a "focus" accessibility
988         notification.
989
990         Also fixes logic that determined if an element was contentEditable by making
991         sure it catches the case with no attribute value (e.g. <div contentEditable>),
992         which also implies contentEditable=true according to the spec.
993
994         Test: accessibility/focusable-div.html
995
996         * accessibility/AccessibilityRenderObject.cpp:
997         (WebCore):
998         (WebCore::nodeHasContentEditableAttributeSet):
999         (WebCore::AccessibilityRenderObject::title):
1000         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1001
1002 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1003
1004         Unreviewed, rolling out r126383.
1005         http://trac.webkit.org/changeset/126383
1006         https://bugs.webkit.org/show_bug.cgi?id=82888
1007
1008         Chromium win build crash
1009
1010         * bindings/js/JSClipboardCustom.cpp:
1011         (WebCore::JSClipboard::types):
1012         * bindings/v8/custom/V8ClipboardCustom.cpp:
1013         (WebCore::V8Clipboard::typesAccessorGetter):
1014         * dom/Clipboard.h:
1015         (Clipboard):
1016         * platform/blackberry/ClipboardBlackBerry.cpp:
1017         (WebCore::ClipboardBlackBerry::types):
1018         * platform/blackberry/ClipboardBlackBerry.h:
1019         (ClipboardBlackBerry):
1020         * platform/chromium/ChromiumDataObject.cpp:
1021         (WebCore::ChromiumDataObject::types):
1022         * platform/chromium/ChromiumDataObject.h:
1023         (ChromiumDataObject):
1024         * platform/chromium/ClipboardChromium.cpp:
1025         (WebCore::ClipboardChromium::types):
1026         * platform/chromium/ClipboardChromium.h:
1027         (ClipboardChromium):
1028         * platform/efl/ClipboardEfl.cpp:
1029         (WebCore::ClipboardEfl::types):
1030         * platform/efl/ClipboardEfl.h:
1031         (ClipboardEfl):
1032         * platform/gtk/ClipboardGtk.cpp:
1033         (WebCore::ClipboardGtk::types):
1034         * platform/gtk/ClipboardGtk.h:
1035         (ClipboardGtk):
1036         * platform/mac/ClipboardMac.h:
1037         (ClipboardMac):
1038         * platform/mac/ClipboardMac.mm:
1039         (WebCore::addHTMLClipboardTypesForCocoaType):
1040         (WebCore::ClipboardMac::types):
1041         * platform/qt/ClipboardQt.cpp:
1042         (WebCore::ClipboardQt::types):
1043         * platform/qt/ClipboardQt.h:
1044         (ClipboardQt):
1045         * platform/win/ClipboardWin.cpp:
1046         (WebCore::addMimeTypesForFormat):
1047         (WebCore::ClipboardWin::types):
1048         * platform/win/ClipboardWin.h:
1049         (ClipboardWin):
1050         * platform/wx/ClipboardWx.cpp:
1051         (WebCore::ClipboardWx::types):
1052         * platform/wx/ClipboardWx.h:
1053         (ClipboardWx):
1054
1055 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1056
1057         [V8] Move m_isolatedWorlds and m_isolatedWorldSecurityOrigins from V8Proxy to ScriptController
1058         https://bugs.webkit.org/show_bug.cgi?id=94770
1059
1060         Reviewed by Adam Barth.
1061
1062         Now m_isolatedWorlds and m_isolatedWorldSecurityOrigins of V8Proxy
1063         are used by ScriptController only. We can move them to ScriptController.
1064
1065         No tests. No change in behavior.
1066
1067         * bindings/v8/ScriptController.cpp:
1068         (WebCore::ScriptController::resetIsolatedWorlds):
1069         (WebCore::ScriptController::evaluateInIsolatedWorld):
1070         (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
1071         (WebCore::ScriptController::collectIsolatedContexts):
1072         * bindings/v8/ScriptController.h:
1073         (ScriptController):
1074         * bindings/v8/V8Proxy.h:
1075         (V8Proxy):
1076
1077 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1078
1079         [V8] Move evaluate() from V8Proxy to ScriptController
1080         https://bugs.webkit.org/show_bug.cgi?id=94768
1081
1082         Reviewed by Adam Barth.
1083
1084         To kill V8Proxy, we can move evaluate() from V8Proxy to ScriptController.
1085
1086         - Renamed evaluate() to compileAndRunScript() to avoid name conflict
1087         with existing ScriptController::evaluate().
1088
1089         - Removed toV8Proxy() from NPV8Object, as it is no longer used.
1090
1091         No tests. No change in behavior.
1092
1093         * bindings/v8/NPV8Object.cpp:
1094         (_NPN_EvaluateHelper):
1095         * bindings/v8/ScheduledAction.cpp:
1096         (WebCore::ScheduledAction::execute):
1097         * bindings/v8/ScriptController.cpp:
1098         (WebCore::ScriptController::compileAndRunScript):
1099         (WebCore):
1100         (WebCore::ScriptController::evaluate):
1101         (WebCore::ScriptController::evaluateInIsolatedWorld):
1102         * bindings/v8/ScriptController.h:
1103         (ScriptController):
1104         * bindings/v8/V8Proxy.cpp:
1105         * bindings/v8/V8Proxy.h:
1106
1107 2012-08-22  Vineet Chaudhary  <rgf748@motorola.com>
1108
1109         Consider replacing return type of Clipboard::types() from HashSet<String> to Vector<String>.
1110         https://bugs.webkit.org/show_bug.cgi?id=82888
1111
1112         Reviewed by Kentaro Hara.
1113
1114         As part of removing custom bindings of types Array Clipboard::types() needs to return
1115         Vector<String> than HashSet<String>
1116
1117         No new tests. Exixting test should pass with this change as no behavoural changes.
1118
1119         * bindings/js/JSClipboardCustom.cpp: Replace data type from HashSet<> to Vector<>.
1120         (WebCore::JSClipboard::types):
1121         * bindings/v8/custom/V8ClipboardCustom.cpp: Ditto.
1122         (WebCore::V8Clipboard::typesAccessorGetter):
1123         * dom/Clipboard.h: Ditto.
1124         (Clipboard):
1125         * platform/blackberry/ClipboardBlackBerry.cpp: Ditto.
1126         (WebCore::ClipboardBlackBerry::types):
1127         * platform/blackberry/ClipboardBlackBerry.h: Ditto.
1128         (ClipboardBlackBerry):
1129         * platform/chromium/ChromiumDataObject.cpp: Ditto.
1130         (WebCore::ChromiumDataObject::types):
1131         * platform/chromium/ChromiumDataObject.h: Ditto.
1132         (ChromiumDataObject):
1133         * platform/chromium/ClipboardChromium.cpp: Ditto.
1134         (WebCore::ClipboardChromium::types):
1135         * platform/chromium/ClipboardChromium.h: Ditto.
1136         (ClipboardChromium):
1137         * platform/efl/ClipboardEfl.cpp: Ditto.
1138         (WebCore::ClipboardEfl::types):
1139         * platform/efl/ClipboardEfl.h: Ditto.
1140         (ClipboardEfl):
1141         * platform/gtk/ClipboardGtk.cpp: Ditto.
1142         (WebCore::ClipboardGtk::types):
1143         * platform/gtk/ClipboardGtk.h: Ditto.
1144         (ClipboardGtk):
1145         * platform/mac/ClipboardMac.h: Ditto.
1146         (ClipboardMac):
1147         * platform/mac/ClipboardMac.mm: Ditto.
1148         (WebCore::addHTMLClipboardTypesForCocoaType):
1149         (WebCore::ClipboardMac::types):
1150         * platform/qt/ClipboardQt.cpp: Ditto.
1151         (WebCore::ClipboardQt::types):
1152         * platform/qt/ClipboardQt.h: Ditto.
1153         (ClipboardQt):
1154         * platform/win/ClipboardWin.cpp: Ditto.
1155         (WebCore::addMimeTypesForFormat):
1156         (WebCore::ClipboardWin::types):
1157         * platform/win/ClipboardWin.h: Ditto.
1158         (ClipboardWin):
1159         * platform/wx/ClipboardWx.cpp: Ditto.
1160         (WebCore::ClipboardWx::types):
1161         * platform/wx/ClipboardWx.h: Ditto.
1162         (ClipboardWx):
1163
1164 2012-08-22  James Robinson  <jamesr@chromium.org>
1165
1166         [chromium] Change WebLayer from a concrete type to a pure virtual interface
1167         https://bugs.webkit.org/show_bug.cgi?id=94174
1168
1169         Reviewed by Adrienne Walker.
1170
1171         This updates WebCore code for the WebLayer interface changes. Classes that have ownership of specific layer
1172         types (such as DrawingBufferChromium, Canvas2DLayerBridge and ScrollingCoordinatorChromium) hold ownership
1173         of a specific type and a pointer to the WebLayer to GraphicsLayerChromium to be included in the final layer
1174         tree. GraphicsLayerChromium holds a WebContentLayer and (optionally) a WebImageLayer and WebLayer (for
1175         m_transformLayer) and assembles the final layer tree.
1176
1177         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1178         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
1179         (ScrollingCoordinatorPrivate):
1180         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
1181         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
1182         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
1183         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
1184         (WebCore::scrollableLayerForGraphicsLayer):
1185         (WebCore):
1186         (WebCore::createScrollbarLayer):
1187         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1188         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1189         (WebCore::ScrollingCoordinator::setScrollLayer):
1190         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1191         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
1192         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1193         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
1194         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
1195         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1196         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
1197         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
1198         (WebCore::Canvas2DLayerBridge::prepareForDraw):
1199         (WebCore::Canvas2DLayerBridge::layer):
1200         (WebCore::Canvas2DLayerBridge::contextAcquired):
1201         * platform/graphics/chromium/Canvas2DLayerBridge.h:
1202         (Canvas2DLayerBridge):
1203         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1204         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
1205         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
1206         (WebCore::DrawingBufferPrivate::layer):
1207         (DrawingBufferPrivate):
1208         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1209         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1210         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
1211         (WebCore::GraphicsLayerChromium::willBeDestroyed):
1212         (WebCore::GraphicsLayerChromium::updateNames):
1213         (WebCore::GraphicsLayerChromium::removeFromParent):
1214         (WebCore::GraphicsLayerChromium::setSize):
1215         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
1216         (WebCore::GraphicsLayerChromium::setContentsOpaque):
1217         (WebCore::GraphicsLayerChromium::setFilters):
1218         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
1219         (WebCore::GraphicsLayerChromium::setMaskLayer):
1220         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
1221         (WebCore::GraphicsLayerChromium::setOpacity):
1222         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1223         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
1224         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
1225         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
1226         (WebCore::GraphicsLayerChromium::setContentsToImage):
1227         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
1228         (WebCore):
1229         (WebCore::GraphicsLayerChromium::setContentsToMedia):
1230         (WebCore::GraphicsLayerChromium::setContentsTo):
1231         (WebCore::GraphicsLayerChromium::addAnimation):
1232         (WebCore::GraphicsLayerChromium::pauseAnimation):
1233         (WebCore::GraphicsLayerChromium::removeAnimation):
1234         (WebCore::GraphicsLayerChromium::suspendAnimations):
1235         (WebCore::GraphicsLayerChromium::resumeAnimations):
1236         (WebCore::GraphicsLayerChromium::platformLayer):
1237         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
1238         (WebCore::GraphicsLayerChromium::setDebugBorder):
1239         (WebCore::GraphicsLayerChromium::updateChildList):
1240         (WebCore::GraphicsLayerChromium::updateLayerPosition):
1241         (WebCore::GraphicsLayerChromium::updateLayerSize):
1242         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1243         (WebCore::GraphicsLayerChromium::updateTransform):
1244         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
1245         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
1246         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
1247         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
1248         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
1249         (WebCore::GraphicsLayerChromium::updateContentsRect):
1250         (WebCore::GraphicsLayerChromium::updateContentsScale):
1251         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1252         * platform/graphics/chromium/GraphicsLayerChromium.h:
1253         (GraphicsLayerChromium):
1254         (WebCore::GraphicsLayerChromium::hasContentsLayer):
1255         (WebCore::GraphicsLayerChromium::contentLayer):
1256         (WebCore::GraphicsLayerChromium::contentsLayer):
1257         * platform/graphics/chromium/LayerChromium.cpp:
1258         (WebCore::LayerChromium::rootLayer):
1259         * platform/graphics/chromium/LayerChromium.h:
1260
1261 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1262
1263         [V8] Move runScript() from V8Proxy to ScriptRunner
1264         https://bugs.webkit.org/show_bug.cgi?id=94706
1265
1266         Reviewed by Adam Barth.
1267
1268         To kill V8Proxy, we can move runScript() from V8Proxy to ScriptRunner.
1269
1270         - ScriptRunner::runScript() should be a static method.
1271         It should receive ScriptExecutionContext on which the script is evaluated.
1272
1273         - After this patch is landed, I'll remove WorkerContextExecutionContext::runScript()
1274         and ScriptDebugServer::runScript().
1275
1276         No tests. No change in behavior.
1277
1278         * UseV8.cmake:
1279         * WebCore.gypi:
1280         * bindings/v8/ScriptController.cpp:
1281         * bindings/v8/ScriptRunner.cpp: Added.
1282         (WebCore):
1283         (WebCore::ScriptRunner::runScript):
1284         * bindings/v8/ScriptRunner.h: Added.
1285         (WebCore):
1286         (ScriptRunner):
1287         * bindings/v8/V8Binding.cpp:
1288         (WebCore::handleMaxRecursionDepthExceeded):
1289         (WebCore):
1290         * bindings/v8/V8Binding.h:
1291         (WebCore):
1292         * bindings/v8/V8Proxy.cpp:
1293         (WebCore::V8Proxy::evaluate):
1294         * bindings/v8/V8Proxy.h:
1295         (V8Proxy):
1296
1297 2012-08-22  Adam Barth  <abarth@webkit.org>
1298
1299         [V8] OwnHandle doesn't need to support weak handles
1300         https://bugs.webkit.org/show_bug.cgi?id=94760
1301
1302         Reviewed by Kentaro Hara.
1303
1304         No code uses makeWeak(). We can drop support for it and simplify this
1305         class.
1306
1307         * bindings/v8/OwnHandle.h:
1308         (WebCore):
1309         (OwnHandle):
1310         (WebCore::OwnHandle::OwnHandle):
1311         (WebCore::OwnHandle::~OwnHandle):
1312         (WebCore::OwnHandle::get):
1313         (WebCore::OwnHandle::set):
1314         (WebCore::OwnHandle::clear):
1315
1316 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1317
1318         [V8] Remove V8Proxy from getXPathNSResolver()
1319         https://bugs.webkit.org/show_bug.cgi?id=94715
1320
1321         Reviewed by Adam Barth.
1322
1323         - The V8Proxy* argument of getXPathNSResolver(..., V8Proxy* = 0) is not used.
1324           We can remove it.
1325
1326         - We can rename getXPathNSResolver() to toXPathNSResolver().
1327
1328         - We can move toXPathNSResolver() from V8DOMWrapper to V8Binding,
1329           since other toXXX() methods are written in V8Binding.
1330
1331         - Change the return value of toXPathNSResolver() from RefPtr to PassRefPtr.
1332
1333         No tests. No change in behavior.
1334
1335         * bindings/scripts/CodeGeneratorV8.pm:
1336         (JSValueToNative):
1337         * bindings/v8/V8Binding.cpp:
1338         (WebCore::toXPathNSResolver):
1339         (WebCore):
1340         * bindings/v8/V8Binding.h:
1341         (WebCore):
1342         * bindings/v8/V8DOMWrapper.cpp:
1343         * bindings/v8/V8DOMWrapper.h:
1344         (V8DOMWrapper):
1345         * bindings/v8/custom/V8DocumentCustom.cpp:
1346         (WebCore::V8Document::evaluateCallback):
1347
1348 2012-08-22  Kenneth Russell  <kbr@google.com>
1349
1350         Unreviewed, rolling out r126325.
1351         http://trac.webkit.org/changeset/126325
1352         https://bugs.webkit.org/show_bug.cgi?id=94644
1353
1354         Caused subtle but reproducible failure to call onload handler
1355         properly in an SVG layout test in Chromium Mac Debug builds,
1356         indicating potentially larger problem
1357
1358         * css/CSSFontSelector.cpp:
1359         (WebCore::CSSFontSelector::beginLoadTimerFired):
1360         * loader/cache/CachedResourceLoader.cpp:
1361         (WebCore::CachedResourceLoader::decrementRequestCount):
1362
1363 2012-08-22  Victor Carbune  <victor@rosedu.org>
1364
1365         Display a TextTrackCue when snap-to-lines flag is set
1366         https://bugs.webkit.org/show_bug.cgi?id=79751
1367
1368         Reviewed by Tony Chang.
1369
1370         This patch implements rendering functionality for a given text track,
1371         following closer the exact WebVTT specification. There are two new classes
1372         which have been added in order to succesfully cover rendering when of a text
1373         track cue.
1374
1375         RenderTextTrackCue handles the specific rendering algorithm required,
1376         by checking for overlaps with other boxes that are in the same
1377         container (these can be any other boxes, not necessarily other cues,
1378         the video controls, for example).
1379
1380         TextTrackCueBox extends HTMLDivElement and is an intermediate layer
1381         between the renderer class and the actual cue object. Its purpose is
1382         to instantiate the particular renderer and cover all the default CSS
1383         styling that needs to be applied to the cue.
1384
1385         The layout is done in two steps:
1386           - Step 1: Layout the TextTrackCue with default CSS properties set (this is
1387         the TextTrackCueBox decorated with the respective CSS elements)
1388           - Step 2: RenderTextTrackCue adjusts the box position depending on the
1389         parameters of the TextTrackCue object and the overlaps that may occur with
1390         previously positioned cues.
1391
1392         Tests: media/track/track-cue-rendering-horizontal.html
1393                media/track/track-cue-rendering-vertical.html
1394
1395         * CMakeLists.txt: Updated to include RenderTextTrackCue.
1396         * GNUmakefile.list.am: Updated to include RenderTextTrackCue.
1397         * Target.pri: Updated to include RenderTextTrackCue.
1398         * WebCore.gypi: Updated to include RenderTextTrackCue.
1399         * WebCore.vcproj/WebCore.vcproj: Updated to include RenderTextTrackCue.
1400         * WebCore.xcodeproj/project.pbxproj: Updated to include RenderTextTrackCue.
1401         * css/mediaControls.css: Removed unreliable CSS.
1402         (video::-webkit-media-text-track-display): Removed properties.
1403         * html/shadow/MediaControlElements.cpp: Updated to not use the new class.
1404         (RenderTextTrackContainerElement):
1405         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Simplified
1406         the function by moving the check if track is rendered in TextTrack and used
1407         the TextTrackCueBox for cues.
1408         * html/track/TextTrack.cpp: Added a new method.
1409         (WebCore::TextTrack::isRendered): Method that returns whether the track should
1410         be rendered or not.
1411         (WebCore):
1412         * html/track/TextTrack.h: Added the isRendered method.
1413         (TextTrack):
1414         * html/track/TextTrackCue.cpp: Added several helper methods and
1415         the TextTrackCueBox.
1416         (WebCore):
1417         (WebCore::TextTrackCueBox::TextTrackCueBox): The TextTrackCueBox extends
1418         the HTMLDivElement and represents a bridge class between RenderTextTrackCue
1419         and TextTrackCue. This is required as the layout is done in two steps, as
1420         explained on top of the ChangeLog entry.
1421         (WebCore::TextTrackCueBox::getCue): Returns the associated TextTrackCue object.
1422         (WebCore::TextTrackCueBox::applyCSSProperties): Applies a part of the default CSS
1423         properties, as defined by section 3.5.1 of the WebVTT specification.
1424         (WebCore::TextTrackCueBox::shadowPseudoId): Moved the shadow pseudo id.
1425         (WebCore::TextTrackCueBox::createRenderer): Creates the particular renderer.
1426         (WebCore::TextTrackCue::TextTrackCue): Corrected the internal writing mode map.
1427         (WebCore::TextTrackCue::calculateComputedLinePosition): Updated the compute line
1428         position algorithm. This requires, however, a method to consider only rendered
1429         tracks (and therefore will be addressed completely in subsequent changeset).
1430         (WebCore::TextTrackCue::calculateDisplayParameters): Updated and corrected the
1431         computed display parameters to match the current specification.
1432         (WebCore::TextTrackCue::getDisplayTree): Update to use the TextTrackCueBox class
1433         and moved CSS application to the respective class.
1434         (WebCore::TextTrackCue::getPositionCoordinates): Added comment to specify in which
1435         situation this method is used and change visibility to private.
1436         (WebCore::TextTrackCue::getCSSWritingMode): Returns the CSS writing mode corresponding
1437         to the cue writing mode.
1438         (WebCore::TextTrackCue::getCSSSize): Returns the cue width / height (depending on the
1439         writing direction.
1440         (WebCore::TextTrackCue::getCSSPosition): Returns the default display position, that is
1441         used in the first layout step.
1442         * html/track/TextTrackCue.h:
1443         (WebCore):
1444         (TextTrackCueBox):
1445         (WebCore::TextTrackCueBox::create): Initialization method.
1446         (TextTrackCue):
1447         (WebCore::TextTrackCue::getWritingDirection): Helper method to return the internal
1448         values used to represent the writing direction.
1449         * rendering/RenderTextTrackCue.cpp: Added.
1450         (WebCore):
1451         (WebCore::RenderTextTrackCue::RenderTextTrackCue):
1452         (WebCore::RenderTextTrackCue::layout): The rendering steps, as mentioned in
1453         the WebVTT rendering rules. Currently, this treats only the snap-to-lines set
1454         case. It is implemented following closely the spec, and might be subject to
1455         change as discussions on various bugs evolve.
1456         (WebCore::RenderTextTrackCue::initializeLayoutParameters): Steps 1 - 7.
1457         (WebCore::RenderTextTrackCue::placeBoxInDefaultPosition): Steps 8 - 10.
1458         (WebCore::RenderTextTrackCue::isOutside): Inline method to check if the cue is outside.
1459         (WebCore::RenderTextTrackCue::isOverlapping): Inline method to check if the cue overlaps other boxes.
1460         (WebCore::RenderTextTrackCue::shouldSwitchDirection): Step 12.
1461         (WebCore::RenderTextTrackCue::moveBoxesByStep): Step 13.
1462         (WebCore::RenderTextTrackCue::switchDirection): Steps 15 - 18.
1463         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Cue repositioning
1464         for text track cue when the snap to lines flag is set.
1465         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesNotSet): Cue repositioning
1466         for text track cue when the snap to lines flag is not set. Not implemented yet.
1467         * rendering/RenderTextTrackCue.h: Added.
1468         (WebCore):
1469         (RenderTextTrackCue): Rendering class, handling the display of cues.
1470
1471 2012-08-21  Kentaro Hara  <haraken@chromium.org>
1472
1473         [V8] Move matchesCurrentContext() from V8Proxy to ScriptController
1474         https://bugs.webkit.org/show_bug.cgi?id=94596
1475
1476         Reviewed by Adam Barth.
1477
1478         To kill V8Proxy:
1479
1480         - We can move matchesCurrentContext() from V8Proxy to ScriptController.
1481         - We can remove V8Proxy::isolatedWorldContext() since it is not used by anybody.
1482         - We can remove V8Proxy::finishedWithEvent() since it is empty.
1483
1484         No tests. No change in behavior.
1485
1486         * bindings/scripts/CodeGeneratorV8.pm:
1487         (GenerateToV8Converters):
1488         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1489         (WebCore::V8TestActiveDOMObject::wrapSlow):
1490         * bindings/scripts/test/V8/V8TestNode.cpp:
1491         (WebCore::V8TestNode::wrapSlow):
1492         * bindings/v8/ScriptController.cpp:
1493         (WebCore::ScriptController::finishedWithEvent):
1494         (WebCore::ScriptController::matchesCurrentContext):
1495         (WebCore):
1496         * bindings/v8/ScriptController.h:
1497         (ScriptController):
1498         * bindings/v8/V8Proxy.cpp:
1499         * bindings/v8/V8Proxy.h:
1500         (V8Proxy):
1501
1502 2012-08-22  Alejandro PiƱeiro  <apinheiro@igalia.com>
1503
1504         [Gtk] Dojo toggle buttons should expose ROLE_TOGGLE_BUTTON not ROLE_PUSH_BUTTON
1505         https://bugs.webkit.org/show_bug.cgi?id=73819
1506
1507         Reviewed by Chris Fleizach.
1508
1509         Added a new role, Toggle Button, based on whether aria-pressed is present.
1510         http://www.w3.org/TR/wai-aria/states_and_properties#aria-pressed
1511
1512         Test: platform/gtk/accessibility/aria-toggle-button-role.html
1513
1514         * accessibility/AccessibilityNodeObject.cpp:
1515         (WebCore::AccessibilityNodeObject::determineAccessibilityRole): using buttonRoleType
1516         to classify a button-related role.
1517         (WebCore::AccessibilityNodeObject::determineAriaRoleAttribute): using buttonRoleType
1518         to classify a button-related role.
1519         * accessibility/AccessibilityObject.cpp:
1520         (WebCore::AccessibilityObject::ariaPressedIsPresent): checks if aria-pressed
1521         attribute is present.
1522         (WebCore::AccessibilityObject::buttonRoleType): returns a specific button-related
1523         role if the object is a button-related role.
1524         * accessibility/AccessibilityObject.h:
1525         (AccessibilityObject): added new role ToggleButtonRole.
1526         * accessibility/AccessibilityRenderObject.cpp:
1527         (WebCore::AccessibilityRenderObject::determineAccessibilityRole): using buttonRoleType
1528         to classify a button-related role.
1529         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
1530         (atkRole): added a mapping between ToggleButtonRole and
1531         ATK_ROLE_TOGGLE_BUTTON.
1532         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1533         (createAccessibilityRoleMap): added a mapping between
1534         ToggleButtonRole and NSAccessibilityButtonRole
1535
1536 2012-08-22  David Grogan  <dgrogan@chromium.org>
1537
1538         IndexedDB: revert int version when version change transaction aborts
1539         https://bugs.webkit.org/show_bug.cgi?id=94662
1540
1541         Reviewed by Tony Chang.
1542
1543         Test: storage/indexeddb/intversion-revert-on-abort.html
1544
1545         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
1546         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
1547         (WebCore::IDBDatabaseBackendImpl::resetIntVersion):
1548         One-liner modeled after resetVersion.
1549
1550         (WebCore):
1551         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
1552         (IDBDatabaseBackendImpl):
1553
1554 2012-08-17  Jeffrey Pfau  <jpfau@apple.com>
1555
1556         Allow blocking of Web SQL databases in third-party web workers
1557         https://bugs.webkit.org/show_bug.cgi?id=94170
1558
1559         Reviewed by Adam Barth.
1560
1561         Web workers did not previously know anything about the document that
1562         spawned them. This is undefined for shared workers, but for dedicated
1563         workers, we now pipe the information through.
1564
1565         Tests: http/tests/security/cross-origin-worker-websql-allowed.html
1566                http/tests/security/cross-origin-worker-websql.html
1567
1568         * Modules/webdatabase/WorkerContextWebDatabase.cpp: Pass information about the top origin to canAccessDatabase
1569         (WebCore::WorkerContextWebDatabase::openDatabase):
1570         (WebCore::WorkerContextWebDatabase::openDatabaseSync):
1571         * WebCore.exp.in: Make SecurityOrigin::isolatedCopy const
1572         * page/SecurityOrigin.cpp:
1573         (WebCore::SecurityOrigin::isolatedCopy):
1574         (WebCore::SecurityOrigin::canAccessStorage):
1575         * page/SecurityOrigin.h:
1576         * workers/DedicatedWorkerContext.cpp: Pass topOrigin
1577         (WebCore::DedicatedWorkerContext::create):
1578         (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
1579         * workers/DedicatedWorkerContext.h:
1580         (DedicatedWorkerContext):
1581         * workers/DedicatedWorkerThread.cpp: Pass topOrigin
1582         (WebCore::DedicatedWorkerThread::create):
1583         (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
1584         (WebCore::DedicatedWorkerThread::createWorkerContext):
1585         * workers/DedicatedWorkerThread.h:
1586         (DedicatedWorkerThread):
1587         * workers/SharedWorkerContext.cpp: Pass topOrigin
1588         (WebCore::SharedWorkerContext::SharedWorkerContext):
1589         * workers/SharedWorkerThread.cpp:
1590         (WebCore::SharedWorkerThread::SharedWorkerThread):
1591         (WebCore::SharedWorkerThread::createWorkerContext):
1592         * workers/SharedWorkerThread.h:
1593         (SharedWorkerThread): Pass topOrigin
1594         * workers/WorkerContext.cpp:
1595         (WebCore::WorkerContext::WorkerContext):
1596         * workers/WorkerContext.h:
1597         (WebCore::WorkerContext::topOrigin):
1598         (WorkerContext):
1599         * workers/WorkerMessagingProxy.cpp: Pass topOrigin
1600         (WebCore::WorkerMessagingProxy::startWorkerContext):
1601         * workers/WorkerThread.cpp:
1602         (WebCore::WorkerThreadStartupData::create):
1603         (WorkerThreadStartupData):
1604         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
1605         (WebCore::WorkerThread::WorkerThread):
1606         (WebCore::WorkerThread::workerThread):
1607         * workers/WorkerThread.h:
1608         (WorkerThread):
1609
1610 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1611
1612         [V8] Move context() from V8Proxy to ScriptController
1613         https://bugs.webkit.org/show_bug.cgi?id=94593
1614
1615         Reviewed by Adam Barth.
1616
1617         - This patch removes V8Proxy::context(Frame*).
1618         - This patch moves V8Proxy::context() to ScriptController::context().
1619         - This patch renames ScriptController::context() to ScriptController::currentWorldContext(),
1620         for naming consistency with ScriptController::maintWorldContext().
1621
1622         No tests. No change in behavior.
1623
1624         * bindings/scripts/CodeGeneratorV8.pm:
1625         (GenerateToV8Converters):
1626         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1627         (WebCore::V8TestActiveDOMObject::wrapSlow):
1628         * bindings/scripts/test/V8/V8TestNode.cpp:
1629         (WebCore::V8TestNode::wrapSlow):
1630         * bindings/v8/ScriptController.cpp:
1631         (WebCore::ScriptController::context):
1632         (WebCore):
1633         * bindings/v8/ScriptController.h:
1634         (ScriptController):
1635         * bindings/v8/V8DOMWrapper.cpp:
1636         (WebCore::V8DOMWrapper::setNamedHiddenWindowReference):
1637         * bindings/v8/V8Proxy.cpp:
1638         * bindings/v8/V8Proxy.h:
1639         (V8Proxy):
1640         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1641         (WebCore::WindowSetTimeoutImpl):
1642         (WebCore::V8DOMWindow::eventAccessorGetter):
1643         (WebCore::V8DOMWindow::eventAccessorSetter):
1644         (WebCore::DialogHandler::dialogCreated):
1645         (WebCore::toV8):
1646         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1647         (WebCore::V8HTMLDocument::openCallback):
1648
1649 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1650
1651         [V8] Remove V8Proxy from V8DOMWrapper::instantiateV8Object()
1652         https://bugs.webkit.org/show_bug.cgi?id=94713
1653
1654         Reviewed by Adam Barth.
1655
1656         To kill V8Proxy, V8DOMWrapper::instantiateV8Object() should receive Frame*
1657         instead of V8Proxy*.
1658
1659         No tests. No change in behavior.
1660
1661         * bindings/scripts/CodeGeneratorV8.pm:
1662         (GenerateToV8Converters):
1663         * bindings/scripts/test/V8/V8Float64Array.cpp:
1664         (WebCore::V8Float64Array::wrapSlow):
1665         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1666         (WebCore::V8TestActiveDOMObject::wrapSlow):
1667         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1668         (WebCore::V8TestCustomNamedGetter::wrapSlow):
1669         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1670         (WebCore::V8TestEventConstructor::wrapSlow):
1671         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1672         (WebCore::V8TestEventTarget::wrapSlow):
1673         * bindings/scripts/test/V8/V8TestException.cpp:
1674         (WebCore::V8TestException::wrapSlow):
1675         * bindings/scripts/test/V8/V8TestInterface.cpp:
1676         (WebCore::V8TestInterface::wrapSlow):
1677         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1678         (WebCore::V8TestMediaQueryListListener::wrapSlow):
1679         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1680         (WebCore::V8TestNamedConstructor::wrapSlow):
1681         * bindings/scripts/test/V8/V8TestNode.cpp:
1682         (WebCore::V8TestNode::wrapSlow):
1683         * bindings/scripts/test/V8/V8TestObj.cpp:
1684         (WebCore::V8TestObj::wrapSlow):
1685         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1686         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
1687         * bindings/v8/V8DOMWrapper.cpp:
1688         (WebCore):
1689         (WebCore::V8DOMWrapper::instantiateV8Object):
1690         * bindings/v8/V8DOMWrapper.h:
1691         (V8DOMWrapper):
1692
1693 2012-08-22  Joshua Bell  <jsbell@chromium.org>
1694
1695         IndexedDB: IDBRequest can be destructed during abort
1696         https://bugs.webkit.org/show_bug.cgi?id=94618
1697
1698         Reviewed by Tony Chang.
1699
1700         If there are no script references, an IDBRequest could be kept alive
1701         only by enqueued events. On document destruction, the parent transaction
1702         is aborted, which aborts the request. During the abort, the enqueued events
1703         are deleted, releasing the last reference to the IDBRequest which then
1704         destructs in mid-method call and an "unfinished" state, hitting an assert.
1705
1706         This patch keeps the IDBRequest alive through the completion of the abort()
1707         method, which will enqueue another event. In the document destruction case,
1708         this will end up with the IDBRequest having stop() called on it which will
1709         send the IDBRequest into EarlyDeath state, satisfying the destructor assert.
1710
1711         Addresses existing layout tests that behave flakily in Chromium port.
1712
1713         * Modules/indexeddb/IDBRequest.cpp:
1714         (WebCore::IDBRequest::abort):
1715
1716 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1717
1718         [V8] Move precompileScript() from V8Proxy to ScriptSourceCode
1719         https://bugs.webkit.org/show_bug.cgi?id=94701
1720
1721         Reviewed by Adam Barth.
1722
1723         To kill V8Proxy, we can move precompileScript() from V8Proxy
1724         to ScriptSourceCode.
1725
1726         No tests. No change in behavior.
1727
1728         * bindings/v8/ScriptSourceCode.cpp:
1729         (WebCore::ScriptSourceCode::precompileScript):
1730         (WebCore):
1731         * bindings/v8/ScriptSourceCode.h:
1732         (ScriptSourceCode):
1733         * bindings/v8/V8Proxy.cpp:
1734         (WebCore::V8Proxy::evaluate):
1735         * bindings/v8/V8Proxy.h:
1736         (V8Proxy):
1737
1738 2012-08-22  Nikhil Bhargava  <nbhargava@google.com>
1739
1740         Reduce Font.h includes across project -- improves RenderObject.h compile time
1741         https://bugs.webkit.org/show_bug.cgi?id=93629
1742
1743         Reviewed by Eric Seidel.
1744
1745         RenderStyle.h no longer depends on Font.h. The files that transitively
1746         need to be updated with proper includes are fixed.
1747
1748         No new tests. Functionality should remain the same.
1749
1750         * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
1751         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
1752         * bindings/objc/DOM.mm:
1753         * css/CSSComputedStyleDeclaration.cpp:
1754         * css/CSSPrimitiveValue.cpp:
1755         * css/StyleResolver.h:
1756         * dom/CharacterData.cpp:
1757         * dom/ElementRareData.h:
1758         * dom/NodeRenderingContext.cpp:
1759         * dom/Text.cpp:
1760         * editing/TextIterator.cpp:
1761         * editing/mac/EditorMac.mm:
1762         * html/HTMLTitleElement.cpp:
1763         * html/shadow/TextControlInnerElements.cpp:
1764         * inspector/InspectorOverlay.cpp:
1765         * page/ContextMenuController.cpp:
1766         * page/PrintContext.cpp:
1767         * platform/efl/RenderThemeEfl.cpp:
1768         * platform/graphics/FontMetrics.h:
1769         * platform/gtk/RenderThemeGtk.cpp:
1770         * platform/gtk/RenderThemeGtk2.cpp:
1771         * platform/mac/HTMLConverter.mm:
1772         * rendering/EllipsisBox.cpp:
1773         * rendering/FlowThreadController.cpp:
1774         * rendering/InlineBox.cpp:
1775         * rendering/InlineFlowBox.cpp:
1776         * rendering/InlineFlowBox.h:
1777         (WebCore):
1778         * rendering/RenderButton.cpp:
1779         * rendering/RenderCombineText.cpp:
1780         * rendering/RenderCombineText.h:
1781         * rendering/RenderDeprecatedFlexibleBox.cpp:
1782         * rendering/RenderEmbeddedObject.h:
1783         (WebCore):
1784         * rendering/RenderFileUploadControl.cpp:
1785         * rendering/RenderFullScreen.h:
1786         * rendering/RenderImage.cpp:
1787         * rendering/RenderInline.cpp:
1788         * rendering/RenderListItem.cpp:
1789         * rendering/RenderListMarker.cpp:
1790         * rendering/RenderMultiColumnBlock.cpp:
1791         * rendering/RenderRegion.h:
1792         * rendering/RenderRuby.cpp:
1793         * rendering/RenderRubyRun.cpp:
1794         * rendering/RenderScrollbar.cpp:
1795         * rendering/RenderTable.cpp:
1796         * rendering/RenderTableCell.cpp:
1797         * rendering/RenderTableRow.cpp:
1798         * rendering/RenderTableSection.cpp:
1799         * rendering/RenderTextControl.cpp:
1800         * rendering/RenderTextControlMultiLine.cpp:
1801         * rendering/RenderThemeChromiumSkia.cpp:
1802         * rendering/RenderView.cpp:
1803         * rendering/TextAutosizer.cpp:
1804         * rendering/mathml/RenderMathMLBlock.h:
1805         * rendering/style/KeyframeList.h:
1806         * rendering/style/RenderStyle.cpp:
1807         * rendering/style/RenderStyle.h:
1808         (WebCore):
1809         * rendering/style/StyleInheritedData.cpp:
1810         * rendering/svg/RenderSVGBlock.cpp:
1811         * rendering/svg/RenderSVGInlineText.h:
1812         * svg/SVGLengthContext.cpp:
1813         * svg/SVGTRefElement.cpp:
1814
1815 2012-08-22  Alex Christensen  <alex.christensen@flexsim.com>
1816         win64 compile error fix for BinaryPropertyList.cpp
1817         https://bugs.webkit.org/show_bug.cgi?id=94122
1818
1819         Reviewed by Eric Seidel.
1820
1821         Fixed compile errors for MSVC x64 without changing performance
1822
1823         * platform/cf/BinaryPropertyList.cpp:
1824         (WebCore::BinaryPropertyListSerializer::appendStringObject):
1825
1826 2012-08-22  Kwang Yul Seo  <skyul@company100.net>
1827
1828         HTMLTreeBuilder::furthestBlockForFormattingElement should belong to HTMLElementStack
1829         https://bugs.webkit.org/show_bug.cgi?id=93857
1830
1831         Reviewed by Eric Seidel.
1832
1833         HTMLTreeBuilder::furthestBlockForFormattingElement should belong to
1834         HTMLElementStack because it traverses the element stack and finds the
1835         furthest block for the given formatting element.
1836
1837         Currently, it belongs to HTMLTreeBuilder just because
1838         isSpecialNode(const HTMLStackItem*) function used by
1839         furthestBlockForFormattingElement is internal to HTMLTreeBuilder.
1840
1841         Moved isSpecialNode to HTMLStackItem and changed
1842         furthestBlockForFormattingElement to be a method of HTMLElementStack.
1843
1844         No behavior change. Just a refactoring.
1845
1846         * html/parser/HTMLElementStack.cpp:
1847         (WebCore):
1848         (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
1849         (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
1850         (WebCore::HTMLElementStack::furthestBlockForFormattingElement):
1851         * html/parser/HTMLElementStack.h:
1852         (HTMLElementStack):
1853         * html/parser/HTMLStackItem.h:
1854         (WebCore::HTMLStackItem::isInHTMLNamespace):
1855         (HTMLStackItem):
1856         (WebCore::HTMLStackItem::isNumberedHeaderElement):
1857         (WebCore::HTMLStackItem::isTableBodyContextElement):
1858         (WebCore::HTMLStackItem::isSpecialNode):
1859         * html/parser/HTMLTreeBuilder.cpp:
1860         (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
1861         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
1862         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1863         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
1864         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1865         (WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent):
1866         (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
1867         * html/parser/HTMLTreeBuilder.h:
1868
1869 2012-08-22  Alexandre Elias  <aelias@google.com>
1870
1871         [chromium] Add software bitmap resources to CCResourceProvider
1872         https://bugs.webkit.org/show_bug.cgi?id=93677
1873
1874         Reviewed by Adrienne Walker.
1875
1876         Second commit after revert.
1877
1878         This adds the ability to CCResourceProvider to use software bitmaps.
1879         They are allocated as plain-old-memory, and exposed as Skia objects.
1880
1881         We want the ResourceProvider to be able to handle different resource
1882         types at the same time.  In practice, a default resource type is
1883         desired for most uses within a single compositor instance, which is
1884         specified by the default resource type.  Default resource types are
1885         expected to be mostly 1-to-1 with CCRenderer types.
1886
1887         New tests added by parametrizing existing CCResourceProvider tests.
1888
1889         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
1890         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
1891         * platform/graphics/chromium/LayerRendererChromium.cpp:
1892         (WebCore::applyFilters):
1893         (WebCore::LayerRendererChromium::drawRenderPassQuad):
1894         (WebCore::LayerRendererChromium::drawTileQuad):
1895         (WebCore::LayerRendererChromium::drawYUVVideoQuad):
1896         (WebCore::LayerRendererChromium::drawTextureQuad):
1897         (WebCore::LayerRendererChromium::getFramebufferTexture):
1898         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
1899         * platform/graphics/chromium/LayerRendererChromium.h:
1900         (DrawingFrame):
1901         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
1902         (WebCore::CCResourceProvider::createResource):
1903         (WebCore):
1904         (WebCore::CCResourceProvider::createGLTexture):
1905         (WebCore::CCResourceProvider::createBitmap):
1906         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
1907         (WebCore::CCResourceProvider::deleteResource):
1908         (WebCore::CCResourceProvider::upload):
1909         (WebCore::CCResourceProvider::flush):
1910         (WebCore::CCResourceProvider::shallowFlushIfSupported):
1911         (WebCore::CCResourceProvider::lockForRead):
1912         (WebCore::CCResourceProvider::unlockForRead):
1913         (WebCore::CCResourceProvider::lockForWrite):
1914         (WebCore::CCResourceProvider::unlockForWrite):
1915         (WebCore::CCResourceProvider::ScopedReadLockGL::ScopedReadLockGL):
1916         (WebCore::CCResourceProvider::ScopedReadLockGL::~ScopedReadLockGL):
1917         (WebCore::CCResourceProvider::ScopedWriteLockGL::ScopedWriteLockGL):
1918         (WebCore::CCResourceProvider::ScopedWriteLockGL::~ScopedWriteLockGL):
1919         (WebCore::CCResourceProvider::populateSkBitmapWithResource):
1920         (WebCore::CCResourceProvider::ScopedReadLockSoftware::ScopedReadLockSoftware):
1921         (WebCore::CCResourceProvider::ScopedReadLockSoftware::~ScopedReadLockSoftware):
1922         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::ScopedWriteLockSoftware):
1923         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::~ScopedWriteLockSoftware):
1924         (WebCore::CCResourceProvider::CCResourceProvider):
1925         * platform/graphics/chromium/cc/CCResourceProvider.h:
1926         (WebCore):
1927         (WebCore::CCResourceProvider::setCreationPolicy):
1928         (WebCore::CCResourceProvider::creationPolicy):
1929         (CCResourceProvider):
1930         (ScopedReadLockGL):
1931         (WebCore::CCResourceProvider::ScopedReadLockGL::textureId):
1932         (ScopedWriteLockGL):
1933         (WebCore::CCResourceProvider::ScopedWriteLockGL::textureId):
1934         (ScopedReadLockSoftware):
1935         (WebCore::CCResourceProvider::ScopedReadLockSoftware::skBitmap):
1936         (ScopedWriteLockSoftware):
1937         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::skCanvas):
1938         (Resource):
1939
1940 2012-08-22  Anna Cavender  <annacc@chromium.org>
1941
1942         Update the TextTrackCue Constructor
1943         https://bugs.webkit.org/show_bug.cgi?id=88583
1944
1945         Reviewed by Eric Carlson.
1946
1947         The TextTrackCue constructor has been changed to:
1948         [Constructor(double startTime, double endTime, DOMString text)]
1949         http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue
1950
1951         No new tests.  Update to media/track/track-add-remove-cue.html
1952
1953         * html/track/TextTrackCue.cpp:
1954         (WebCore::TextTrackCue::TextTrackCue):
1955         * html/track/TextTrackCue.h:
1956         (WebCore::TextTrackCue::create):
1957         (TextTrackCue):
1958         * html/track/TextTrackCue.idl:
1959         * html/track/WebVTTParser.cpp:
1960         (WebCore::WebVTTParser::createNewCue):
1961
1962 2012-08-22  Erik Arvidsson  <arv@chromium.org>
1963
1964         Changing class attribute is not reflected in the classList property
1965         https://bugs.webkit.org/show_bug.cgi?id=93665
1966
1967         Reviewed by Ojan Vafai.
1968
1969         Before this change classAttributeChanged was only called for StyledElement. With this refactoring
1970         it gets called for all Elements when the class attribute changes.
1971
1972         Test: fast/dom/Element/class-list-update.html
1973
1974         * css/StyleResolver.cpp:
1975         (WebCore::StyleResolver::collectMatchingRules): To match the old behavior we only include StyledElements.
1976         * dom/ClassNodeList.cpp:
1977         (WebCore::ClassNodeList::nodeMatches): Ditto.
1978         * dom/Element.cpp:
1979         (WebCore::Element::attributeChanged): Moved the call to parseAttribute here, from StyledElement::attributeChanged.
1980         (WebCore::Element::parseAttribute): Moved from StyledElement.
1981         (WebCore):
1982         (WebCore::Element::classAttributeChanged): Ditto.
1983         * dom/Element.h:
1984         (Element):
1985         (WebCore::Element::classNames): Ditto.
1986         (WebCore):
1987         * dom/StyledElement.cpp:
1988         (WebCore::StyledElement::attributeChanged): Let Element::attributeChanged call parseAttribtue instead.
1989         (WebCore::StyledElement::parseAttribute): Move the class attribute handling to Element::parseAttribute.
1990         * dom/StyledElement.h:
1991         (StyledElement):
1992
1993 2012-08-22  Kentaro Hara  <haraken@chromium.org>
1994
1995         [V8] Replace v8::String::NewSymbol() in CodeGeneratorV8.pm with v8String()
1996         https://bugs.webkit.org/show_bug.cgi?id=94588
1997
1998         Reviewed by Eric Seidel.
1999
2000         v8String() is faster than String::NewSymbol().
2001         This patch implements v8String(char*, Isolate*) and
2002         replaces String::NewSymbol(char*) in CodeGeneratorV8.pm
2003         with v8String(char*, Isolate*).
2004
2005         Performance result:
2006
2007         // 272 nano sec
2008         static v8::Handle<v8::Value> attr3AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
2009         {
2010             v8::Handle<v8::Value> v1 = v8String(String("foo"));
2011             v8::Handle<v8::Value> v2 = v8String(String("bar"));
2012             if (!v1.IsEmpty() && !v2.IsEmpty())
2013                 return v8Undefined();
2014             return v8::Null(); // Never reach.
2015         }
2016
2017         // 377 nano sec
2018         static v8::Handle<v8::Value> attr4AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
2019         {
2020             v8::Handle<v8::Value> v1 = v8::String::NewSymbol("foo");
2021             v8::Handle<v8::Value> v2 = v8::String::NewSymbol("bar");
2022             if (!v1.IsEmpty() && !v2.IsEmpty())
2023                 return v8Undefined();
2024             return v8::Null(); // Never reach.
2025         }
2026
2027         No tests. No change in behavior.
2028
2029         * bindings/scripts/CodeGeneratorV8.pm:
2030         (GenerateNormalAttrGetter):
2031         (GenerateNormalAttrSetter):
2032         (GenerateNamedConstructorCallback):
2033         (GenerateNonStandardFunction):
2034         (GenerateImplementation):
2035         * bindings/scripts/test/V8/V8Float64Array.cpp:
2036         (WebCore::ConfigureV8Float64ArrayTemplate):
2037         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2038         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
2039         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
2040         (WebCore::ConfigureV8TestEventTargetTemplate):
2041         * bindings/scripts/test/V8/V8TestInterface.cpp:
2042         (WebCore::ConfigureV8TestInterfaceTemplate):
2043         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
2044         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
2045         * bindings/scripts/test/V8/V8TestObj.cpp:
2046         (WebCore::ConfigureV8TestObjTemplate):
2047         (WebCore::V8TestObj::installPerContextProperties):
2048         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
2049         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
2050         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetter):
2051         (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):
2052         * bindings/v8/V8Binding.h:
2053         (WebCore):
2054         (WebCore::v8String):
2055         * html/HTMLDivElement.idl:
2056
2057 2012-08-22  Pratik Solanki  <psolanki@apple.com>
2058
2059         Setting WebKitEnableHTTPPipelining doesn't work if default is true
2060         https://bugs.webkit.org/show_bug.cgi?id=94537
2061
2062         Reviewed by David Kilzer.
2063
2064         * platform/network/cf/ResourceRequestCFNet.cpp:
2065         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Read in the HTTP pipelining pref and
2066         allow it to override the default pipelining behavior if it was actually set.
2067
2068 2012-08-22  W. James MacLean  <wjmaclean@chromium.org>
2069
2070         [chromium] Add touch link highlight animation layers.
2071         https://bugs.webkit.org/show_bug.cgi?id=84487
2072
2073         Reviewed by James Robinson.
2074
2075         Adds support for creating composited touch link highlights in renderer thread. Clipping not yet
2076         implemented for non-composited frames/overflow divs, but scrolling and layout changes are supported.
2077         Transform support currently limited to translation.
2078
2079         Unit tests for LinkHighlight revised.
2080
2081         Tests: platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html
2082                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html
2083                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html
2084                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html
2085                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html
2086                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-clipped.html
2087                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html
2088                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html
2089                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html
2090                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html
2091                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html
2092                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
2093                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html
2094                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scroll-clip.html
2095                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html
2096                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html
2097                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html
2098                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html
2099                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html
2100                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html
2101                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-clipped.html
2102                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html
2103                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html
2104                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-clipped.html
2105                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html
2106                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html
2107                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html
2108                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html
2109                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html
2110                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html
2111                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html
2112                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html
2113                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html
2114                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html
2115                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html
2116                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html
2117                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-rotated.html
2118                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledX.html
2119                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledY.html
2120                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html
2121                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html
2122
2123         * WebCore.gypi:
2124         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2125         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2126         (WebCore::GraphicsLayerChromium::willBeDestroyed): Adds notification to LinkHighlight when layer goes away.
2127         (WebCore::GraphicsLayerChromium::updateNames): Now sets debug name for LinkHighlight layer.
2128         (WebCore::GraphicsLayerChromium::setSize): Invalidates LinkHighlight if present.
2129         (WebCore::GraphicsLayerChromium::setNeedsDisplay): Invalidates LinkHighlight if present.
2130         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): Invalidates LinkHighlight if present.
2131         (WebCore::GraphicsLayerChromium::setLinkHighlight): Registers LinkHighlightClient* with GraphicsLayerChromium.
2132         (WebCore::GraphicsLayerChromium::updateChildList): Now adds LinkHighlight WebLayer if highlight active.
2133         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable): Invalidates LinkHighlight if present.
2134         * platform/graphics/chromium/GraphicsLayerChromium.h:
2135         (WebCore):
2136         (LinkHighlightClient): Abstract interface seen by GraphicsLayerChromium.
2137         (WebCore::LinkHighlightClient::~LinkHighlightClient):
2138         (GraphicsLayerChromium):
2139         (WebCore::GraphicsLayerChromium::linkHighlight):
2140         * platform/graphics/chromium/LinkHighlight.cpp: Removed.
2141
2142 2012-08-22  Beth Dakin  <bdakin@apple.com>
2143
2144         https://bugs.webkit.org/show_bug.cgi?id=94401
2145         Add support for making a web site become paginated using overflow: 
2146         paged-x | paged-y
2147         -and corresponding-
2148         <rdar://problem/11831783> 
2149
2150         Reviewed by Dave Hyatt.
2151
2152         This patch adds two new possible values for overflow-y. They are -
2153         webkit-paged-x and -webkit-paged-y. When you set these as overflow-y 
2154         values on the html or body element, they make the RenderView 
2155         paginated, much like the API on Page.
2156
2157         -webkit-paged-x and -webkit-paged-y are only valid values for 
2158         overflow-y, NOT overflow-x. overflow-x defaults to a value of auto 
2159         (for now) unless it has been set to something else.
2160         * css/CSSParser.cpp:
2161         (WebCore::isValidKeywordPropertyAndValue):
2162         (WebCore::CSSParser::parseValue):
2163
2164         Two new CSS value keywords.
2165         * css/CSSValueKeywords.in:
2166
2167         EOverflow has two new values for pagination. 
2168         * rendering/style/RenderStyleConstants.h:
2169         * css/CSSPrimitiveValueMappings.h:
2170         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2171         (WebCore::CSSPrimitiveValue::operator EOverflow):
2172
2173         A bunch of existing code from StyleResolver::styleForDocument() is 
2174         moved into a helper function so that it can be called from two 
2175         places. 
2176         * css/StyleResolver.cpp:
2177         (WebCore::StyleResolver::collectMatchingRulesForList):
2178
2179         Even though this pagination is very similar to Page::pagination(), it 
2180         is different in one critical way. Page::pagination() will apply to 
2181         all FrameViews, even those in the page cache. For this reason, 
2182         FrameView needs to keep its own Pagination value that just applies to 
2183         this FrameView.
2184         * page/FrameView.cpp:
2185         * page/FrameView.h:
2186         (WebCore):
2187         (FrameView):
2188
2189         Map RenderStyle values to a Pagination::Mode.
2190         (WebCore::paginationModeForRenderStyle):
2191         (WebCore):
2192
2193         Account for paged-x and paged-y here.
2194         (WebCore::FrameView::applyOverflowToViewport):
2195
2196         As is explained in the header, FrameView::pagination() will return 
2197         m_pagination if it has been set. Otherwise, it will return 
2198         Page::pagination() since currently there are no callers that need to 
2199         distinguish between the two.
2200         (WebCore::FrameView::pagination):
2201         (WebCore::FrameView::setPagination):
2202
2203         Generally this means that everywhere in WebCore should ask FrameView 
2204         for the pagination(), not Page. These call sites all look to 
2205         FrameView now.
2206         (WebCore::FrameView::paintContents):
2207         * rendering/RenderView.cpp:
2208         (WebCore::RenderView::requiresColumns):
2209         (WebCore::RenderView::calcColumnWidth):
2210         (WebCore::RenderView::paginationUnit):
2211         (WebCore::RenderView::viewLogicalHeight):
2212
2213         Since we need to define Pagination in Page.h AND FrameView.h, it is 
2214         now in its own header, Pagination.h. And therefore it is no longer 
2215         WebCore::Page::Pagination, but rather it is just WebCore::Pagination.
2216         * page/Page.h:
2217         (Page):
2218         * rendering/Pagination.h: Added.
2219         (WebCore):
2220         (WebCore::Pagination::Pagination):
2221         (Pagination):
2222         (WebCore::Pagination::operator==):
2223         (WebCore::Pagination::operator!=):
2224         * WebCore.exp.in:
2225         * WebCore.xcodeproj/project.pbxproj:
2226         * GNUmakefile.list.am:
2227         * Target.pri:
2228         * WebCore.exp.in:
2229         * WebCore.gypi:
2230
2231         Certain ColumnInfo values are set based on the RenderStyle. So if 
2232         those RenderStyle values change, the ColumnInfo needs to be updated.
2233         * rendering/RenderBlock.cpp:
2234         (WebCore::RenderBlock::updateColumnInfoFromStyle):
2235         (WebCore):
2236         * rendering/RenderBlock.h:
2237         (RenderBlock):
2238
2239         Factor in paged-x and paged-y when determining if a RenderBlock 
2240         requires columns.
2241         (WebCore::RenderBlock::requiresColumns):
2242
2243         RenderStyle::specifiesColumns() is an odd and probably broken 
2244         function. At the very least, it should be re-named, if not removed 
2245         entirely. It does not accurately assess if columns have been 
2246         specified. I had to add this code here because specifiesColumns() 
2247         returns false for paged-x and true for paged-y. We were hitting a 
2248         number of crashes with paged-y because of this, so I chose for the 
2249         time being to limit this check to non-root layers.
2250         * rendering/RenderLayer.cpp:
2251         (WebCore::RenderLayer::shouldBeNormalFlowOnly):
2252
2253         It's just Pagination now, not Page::Pagination.
2254         * testing/InternalSettings.cpp:
2255         (WebCore::InternalSettings::reset):
2256         (WebCore::InternalSettings::setPagination):
2257
2258 2012-08-22  Dean Jackson  <dino@apple.com>
2259
2260         [WebGL] Mac/ATI/AMD systems need to translate built-in GLSL functions
2261         https://bugs.webkit.org/show_bug.cgi?id=94030
2262
2263         Reviewed by Tim Horton.
2264
2265         ATI/AMD GPUs on Apple platforms do not give correct values for some of
2266         the built-in GLSL functions. Add a compile flag that is passed to ANGLE
2267         so that, with this configuration, it will rewrite the shader to emulate
2268         the function in code.
2269
2270         This is exposing some design weaknesses in the way we call ANGLE. We'll
2271         soon need to add more compiler flags; Future bugs will likely clean
2272         this code up. But this approach is satisfactory for the moment.
2273
2274         This change is tested by the Khronos WebGL conformance test suite, in particular:
2275         conformance/glsl/functions/glsl-function-distance.html
2276         conformance/glsl/functions/glsl-function-dot.html
2277         conformance/glsl/functions/glsl-function-length.html
2278
2279         * platform/graphics/ANGLEWebKitBridge.cpp:
2280         (WebCore::ANGLEWebKitBridge::validateShaderSource): Test for ATI cards
2281         on the Mac platform, and pass in an extra flag to the translation step.
2282         * platform/graphics/ANGLEWebKitBridge.h:
2283         (ANGLEWebKitBridge): Add a new parameter to getTranslatedShaderSourceANGLE
2284         that accepts some extra options to pass to ANGLE.
2285         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2286         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Pass
2287         the extra options into ANGLE's compile function.
2288
2289 2012-08-22  Tommy Widenflycht  <tommyw@google.com>
2290
2291         [chromium] MediaStream API: Add MockWebRTCPeerConnectionHandler
2292         https://bugs.webkit.org/show_bug.cgi?id=93091
2293
2294         Reviewed by Adam Barth.
2295
2296         Fixing a FIXME that the patch obsoletes.
2297
2298         Covered by existing tests.
2299
2300         * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
2301         (WebCore::RTCPeerConnectionHandlerChromium::initialize):
2302
2303 2012-08-22  Eric Penner  <epenner@google.com>
2304
2305         [chromium] Simplify updateContentRect, removing rect parameter, refactor unit tests.
2306         https://bugs.webkit.org/show_bug.cgi?id=94165
2307
2308         Reviewed by Adrienne Walker.
2309
2310         Remove visible rect parameter from TiledLayerChromium functions. Passing a
2311         rect that is not the visible rect wouldn't make sense, and soon we might
2312         need further visibility information.
2313
2314         In refactoring the unit tests, I removed texture manager from all tests
2315         and put it in the test class. I also made some utility functions to 
2316         simulate the commit flow and remove tons of boilerplate code. I refactored
2317         about half the unit tests to use the utility functions.
2318
2319         Refactored tests.
2320
2321         * platform/graphics/chromium/ContentLayerChromium.cpp:
2322         (WebCore::ContentLayerChromium::update):
2323         (WebCore::ContentLayerChromium::needMoreUpdates):
2324         * platform/graphics/chromium/ImageLayerChromium.cpp:
2325         (WebCore::ImageLayerChromium::update):
2326         * platform/graphics/chromium/TiledLayerChromium.cpp:
2327         (WebCore):
2328         (WebCore::TiledLayerChromium::setTexturePriorities):
2329         (WebCore::TiledLayerChromium::resetUpdateState):
2330         (WebCore::TiledLayerChromium::update):
2331         (WebCore::TiledLayerChromium::needsIdlePaint):
2332         (WebCore::TiledLayerChromium::idlePaintRect):
2333         * platform/graphics/chromium/TiledLayerChromium.h:
2334         (TiledLayerChromium):
2335
2336 2012-08-22  Otto Derek Cheung  <otcheung@rim.com>
2337
2338         [BlackBerry] Add a check to filter out cookies that tries to set the 
2339         domain to a top level domain
2340         https://bugs.webkit.org/show_bug.cgi?id=94722
2341
2342         Reviewed by Rob Buis.
2343
2344         Adding conditions to check whether a cookie domain is a top level domain.
2345         If it is, throw it out when parsing.
2346
2347         Manual Testing by trying to insert a cookie with an invalid domain
2348         using web-inspector. (ex: when on news.yahoo.com.hk, try to document.
2349         cookie="test1=seeifthiscookieexist; domain=.com.hk")
2350
2351         PR121622
2352
2353         * platform/blackberry/CookieParser.cpp:
2354         WebCore::CookieParser::parseOneCookie):
2355
2356 2012-08-22  Rob Buis  <rwlbuis@webkit.org>
2357
2358         Remove RenderBlock::paintEllipsisBoxes
2359         https://bugs.webkit.org/show_bug.cgi?id=94709
2360
2361         Reviewed by Eric Seidel.
2362
2363         Remove unused method.
2364
2365         No change in functionality, no new tests.
2366
2367         * rendering/RenderBlock.cpp:
2368         (WebCore::RenderBlock::paintFloats):
2369         * rendering/RenderBlock.h:
2370         (RenderBlock):
2371
2372 2012-08-22  Tommy Widenflycht  <tommyw@google.com>
2373
2374         MediaStream API: Introduce RTCSessionDescription
2375         https://bugs.webkit.org/show_bug.cgi?id=93119
2376
2377         Reviewed by Adam Barth.
2378
2379         This patch introduces RTCSessionDescription together with its
2380         corresponding WebCore/platform representation.
2381
2382         Test: fast/mediastream/RTCSessionDescription.html
2383
2384         * CMakeLists.txt:
2385         * GNUmakefile.list.am:
2386         * Modules/mediastream/DOMWindowMediaStream.idl:
2387         * Modules/mediastream/RTCSessionDescription.cpp: Added.
2388         (WebCore):
2389         (WebCore::RTCSessionDescription::create):
2390         (WebCore::RTCSessionDescription::RTCSessionDescription):
2391         (WebCore::RTCSessionDescription::~RTCSessionDescription):
2392         (WebCore::RTCSessionDescription::type):
2393         (WebCore::RTCSessionDescription::setType):
2394         (WebCore::RTCSessionDescription::sdp):
2395         (WebCore::RTCSessionDescription::setSdp):
2396         (WebCore::RTCSessionDescription::descriptor):
2397         * Modules/mediastream/RTCSessionDescription.h: Added.
2398         (WebCore):
2399         (RTCSessionDescription):
2400         * Modules/mediastream/RTCSessionDescription.idl: Added.
2401         * WebCore.gypi:
2402         * platform/mediastream/RTCSessionDescriptionDescriptor.cpp: Added.
2403         (WebCore):
2404         (WebCore::RTCSessionDescriptionDescriptor::create):
2405         (WebCore::RTCSessionDescriptionDescriptor::RTCSessionDescriptionDescriptor):
2406         (WebCore::RTCSessionDescriptionDescriptor::~RTCSessionDescriptionDescriptor):
2407         * platform/mediastream/RTCSessionDescriptionDescriptor.h: Added.
2408         (WebCore):
2409         (RTCSessionDescriptionDescriptor):
2410         (WebCore::RTCSessionDescriptionDescriptor::type):
2411         (WebCore::RTCSessionDescriptionDescriptor::setType):
2412         (WebCore::RTCSessionDescriptionDescriptor::sdp):
2413         (WebCore::RTCSessionDescriptionDescriptor::setSdp):
2414
2415 2012-08-22  Victor Carbune  <victor@rosedu.org>
2416
2417         DOM manipulation crashes the browser
2418
2419         Creating a DOM track element by script and changing the mode crashes
2420         results in a browser crash.
2421         https://bugs.webkit.org/show_bug.cgi?id=94628
2422
2423         Reviewed by Eric Carlson.
2424
2425         Simple fix that creates the text track cue list in case of mode change.
2426
2427         Test: media/track/track-element-dom-change-crash.html
2428
2429         * html/HTMLMediaElement.cpp:
2430         (WebCore::HTMLMediaElement::textTrackModeChanged):
2431
2432 2012-08-22  Ryosuke Niwa  <rniwa@webkit.org>
2433
2434         Microdata build fix.
2435
2436         * html/HTMLPropertiesCollection.h:
2437         (WebCore::HTMLPropertiesCollection::updatePropertyCache):
2438
2439 2012-08-22  Tommy Widenflycht  <tommyw@google.com>
2440
2441         MediaStream API: Introduce RTCIceCandidate
2442         https://bugs.webkit.org/show_bug.cgi?id=93117
2443
2444         Reviewed by Adam Barth.
2445
2446         This patch introduces RTCIceCandidate together with its corresponding
2447         WebCore/platform representation.
2448
2449         Test: fast/mediastream/RTCIceCandidate.html
2450
2451         * CMakeLists.txt:
2452         * GNUmakefile.list.am:
2453         * Modules/mediastream/DOMWindowMediaStream.idl:
2454         * Modules/mediastream/RTCIceCandidate.cpp: Added.
2455         (WebCore):
2456         (WebCore::RTCIceCandidate::create):
2457         (WebCore::RTCIceCandidate::RTCIceCandidate):
2458         (WebCore::RTCIceCandidate::~RTCIceCandidate):
2459         (WebCore::RTCIceCandidate::candidate):
2460         (WebCore::RTCIceCandidate::sdpMid):
2461         (WebCore::RTCIceCandidate::sdpMLineIndex):
2462         (WebCore::RTCIceCandidate::descriptor):
2463         * Modules/mediastream/RTCIceCandidate.h: Added.
2464         (WebCore):
2465         (RTCIceCandidate):
2466         * Modules/mediastream/RTCIceCandidate.idl: Added.
2467         * WebCore.gypi:
2468         * platform/mediastream/RTCIceCandidateDescriptor.cpp: Added.
2469         (WebCore):
2470         (WebCore::RTCIceCandidateDescriptor::create):
2471         (WebCore::RTCIceCandidateDescriptor::RTCIceCandidateDescriptor):
2472         (WebCore::RTCIceCandidateDescriptor::~RTCIceCandidateDescriptor):
2473         * platform/mediastream/RTCIceCandidateDescriptor.h: Added.
2474         (WebCore):
2475         (RTCIceCandidateDescriptor):
2476         (WebCore::RTCIceCandidateDescriptor::candidate):
2477         (WebCore::RTCIceCandidateDescriptor::sdpMid):
2478         (WebCore::RTCIceCandidateDescriptor::sdpMLineIndex):
2479
2480 2012-08-22  Mark Rowe  <mrowe@apple.com>
2481
2482         <http://webkit.org/b/94679> WebCore scrolling thread leaks objects due to them being autoreleased without any autorelease pool in place
2483
2484         Reviewed by Dan Bernstein.
2485
2486         * page/scrolling/mac/ScrollingThreadMac.mm:
2487         (WebCore::ScrollingThread::threadRunLoopSourceCallback): Ensure that an autorelease pool is in place when
2488         dispatching functions on the scrolling thread.
2489
2490 2012-08-22  Pratik Solanki  <psolanki@apple.com>
2491
2492         Failure to dispatch delegate callbacks if resource load fails synchronously
2493         https://bugs.webkit.org/show_bug.cgi?id=94644
2494
2495         Reviewed by Antti Koivisto.
2496
2497         Resource loads can be triggered by layout after document load is
2498         complete but before we have dispatched didFinishLoadForFrame callback.
2499         In such cases, if the load fails synchronously due to the client
2500         returning 0 from willSendRequest callback, we would fail to call
2501         didFinishLoading. this was fixed for Font resources in r122446 for bug
2502         91018. This fixes it in the general case by having CachedResourceLoader
2503         call FrameLoader::checkLoadComplete() when it is done loading all
2504         resources.
2505
2506         * css/CSSFontSelector.cpp:
2507         (WebCore::CSSFontSelector::beginLoadTimerFired):
2508         * loader/cache/CachedResourceLoader.cpp:
2509         (WebCore::CachedResourceLoader::decrementRequestCount):
2510
2511 2012-08-22  Kenneth Russell  <kbr@google.com>
2512
2513         Unreviewed, rolling out r126319.
2514         http://trac.webkit.org/changeset/126319
2515         https://bugs.webkit.org/show_bug.cgi?id=84487
2516
2517         Broke Chromium Mac build
2518
2519         * WebCore.gypi:
2520         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2521         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2522         (WebCore::GraphicsLayerChromium::willBeDestroyed):
2523         (WebCore::GraphicsLayerChromium::updateNames):
2524         (WebCore::GraphicsLayerChromium::setSize):
2525         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
2526         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
2527         (WebCore::GraphicsLayerChromium::addLinkHighlight):
2528         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
2529         (WebCore):
2530         (WebCore::GraphicsLayerChromium::updateChildList):
2531         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
2532         * platform/graphics/chromium/GraphicsLayerChromium.h:
2533         (WebCore):
2534         (GraphicsLayerChromium):
2535         * platform/graphics/chromium/LinkHighlight.cpp: Added.
2536         (WebCore):
2537         (WebCore::LinkHighlight::create):
2538         (WebCore::LinkHighlight::LinkHighlight):
2539         (WebCore::LinkHighlight::~LinkHighlight):
2540         (WebCore::LinkHighlight::contentLayer):
2541         (WebCore::LinkHighlight::paintContents):
2542         (WebCore::LinkHighlight::notifyAnimationStarted):
2543         (WebCore::LinkHighlight::notifyAnimationFinished):
2544         * platform/graphics/chromium/LinkHighlight.h: Renamed from Source/WebKit/chromium/src/LinkHighlight.h.
2545         (WebCore):
2546         (LinkHighlight):
2547
2548 2012-08-22  Alexei Svitkine  <asvitkine@chromium.org>
2549
2550         Respect system setting for rubber-banding in ScrollAnimatorMac.
2551         https://bugs.webkit.org/show_bug.cgi?id=94356
2552
2553         Reviewed by James Robinson.
2554
2555         Respects user defaults setting of NSScrollViewRubberbanding,
2556         which controls rubber-banding in other Mac OS X applications.
2557
2558         If NSScrollViewRubberbanding is not set, defaults to enabling
2559         rubber banding. Otherwise, rubber banding is disabled if the
2560         value is 0 and enabled otherwise.
2561
2562         No new tests since the behavior depends on system settings.
2563
2564         * platform/mac/ScrollAnimatorMac.mm:
2565         (WebCore):
2566         (WebCore::rubberBandingEnabledForSystem):
2567         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2568
2569 2012-08-22  James Robinson  <jamesr@chromium.org>
2570
2571         [chromium/mac] Remove unnecessary checks for OS version <= 10.5. We don't support those
2572         https://bugs.webkit.org/show_bug.cgi?id=94658
2573
2574         Reviewed by Tony Chang.
2575
2576         The chromium mac port hasn't supported Leopard for a while now, so remove chromium-specific code that checks
2577         for OS X version <= Leopard.
2578
2579         * platform/graphics/chromium/CrossProcessFontLoading.mm:
2580         (WebCore::FontPlatformData::loadFont):
2581         * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
2582         (WebCore::canSetCascadeListForCustomFont):
2583
2584 2012-08-22  W. James MacLean  <wjmaclean@chromium.org>
2585
2586         [chromium] Add touch link highlight animation layers.
2587         https://bugs.webkit.org/show_bug.cgi?id=84487
2588
2589         Reviewed by James Robinson.
2590
2591         Adds support for creating composited touch link highlights in renderer thread. Clipping not yet
2592         implemented for non-composited frames/overflow divs, but scrolling and layout changes are supported.
2593         Transform support currently limited to translation.
2594
2595         Unit tests for LinkHighlight revised.
2596
2597         Tests: platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html
2598                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html
2599                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html
2600                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html
2601                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html
2602                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-clipped.html
2603                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html
2604                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html
2605                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html
2606                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html
2607                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html
2608                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
2609                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html
2610                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scroll-clip.html
2611                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html
2612                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html
2613                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html
2614                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html
2615                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html
2616                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html
2617                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-clipped.html
2618                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html
2619                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html
2620                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-clipped.html
2621                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html
2622                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html
2623                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html
2624                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html
2625                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html
2626                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html
2627                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html
2628                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html
2629                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html
2630                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html
2631                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html
2632                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html
2633                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-rotated.html
2634                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledX.html
2635                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledY.html
2636                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html
2637                platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html
2638
2639         * WebCore.gypi:
2640         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2641         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2642         (WebCore::GraphicsLayerChromium::willBeDestroyed): Adds notification to LinkHighlight when layer goes away.
2643         (WebCore::GraphicsLayerChromium::updateNames): Now sets debug name for LinkHighlight layer.
2644         (WebCore::GraphicsLayerChromium::setSize): Invalidates LinkHighlight if present.
2645         (WebCore::GraphicsLayerChromium::setNeedsDisplay): Invalidates LinkHighlight if present.
2646         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): Invalidates LinkHighlight if present.
2647         (WebCore::GraphicsLayerChromium::setLinkHighlight): Registers LinkHighlightClient* with GraphicsLayerChromium.
2648         (WebCore::GraphicsLayerChromium::updateChildList): Now adds LinkHighlight WebLayer if highlight active.
2649         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable): Invalidates LinkHighlight if present.
2650         * platform/graphics/chromium/GraphicsLayerChromium.h:
2651         (WebCore):
2652         (LinkHighlightClient): Abstract interface seen by GraphicsLayerChromium.
2653         (WebCore::LinkHighlightClient::~LinkHighlightClient):
2654         (GraphicsLayerChromium):
2655         (WebCore::GraphicsLayerChromium::linkHighlight):
2656         * platform/graphics/chromium/LinkHighlight.cpp: Removed.
2657
2658 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
2659
2660         Unreviewed build fix. Missing PANGO_CFLAGS.
2661
2662         * GNUmakefile.am:
2663
2664 2012-08-22  Pavel Feldman  <pfeldman@chromium.org>
2665
2666         Web Inspector: make "sdk" component compile independently from the rest of the front-end.
2667         https://bugs.webkit.org/show_bug.cgi?id=94705
2668
2669         Reviewed by Vsevolod Vlasov.
2670
2671         This change refactors the way we compile. Running "compile-front-end.py sdk" will compile sdk only.
2672         It also introduces DOMStorageModel and DatabaseModel that are used to split model / UI layers.
2673
2674         * WebCore.gypi:
2675         * WebCore.vcproj/WebCore.vcproj:
2676         * inspector/InjectedScriptExterns.js:
2677         (InjectedScriptHost.prototype.evaluate):
2678         * inspector/Inspector.json:
2679         * inspector/compile-front-end.py:
2680         (dump_module):
2681         * inspector/front-end/CompilerScriptMapping.js:
2682         * inspector/front-end/ConsoleModel.js:
2683         (WebInspector.ConsoleMessage):
2684         (WebInspector.ConsoleMessage.prototype.clone):
2685         (WebInspector.ConsoleMessage.prototype.location):
2686         * inspector/front-end/DOMAgent.js:
2687         * inspector/front-end/DOMStorage.js:
2688         (WebInspector.DOMStorageModel):
2689         (WebInspector.DOMStorageModel.prototype._addDOMStorage):
2690         (WebInspector.DOMStorageModel.prototype._domStorageUpdated):
2691         (WebInspector.DOMStorageModel.prototype.storageForId):
2692         (WebInspector.DOMStorageModel.prototype.storages):
2693         (WebInspector.DOMStorageDispatcher):
2694         (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
2695         (WebInspector.DOMStorageDispatcher.prototype.domStorageUpdated):
2696         * inspector/front-end/Database.js:
2697         (WebInspector.Database):
2698         (WebInspector.Database.prototype.executeSql):
2699         (WebInspector.DatabaseModel):
2700         (WebInspector.DatabaseModel.prototype.databases):
2701         (WebInspector.DatabaseModel.prototype.databaseForId):
2702         (WebInspector.DatabaseModel.prototype._addDatabase):
2703         (WebInspector.DatabaseModel.prototype._sqlTransactionSucceeded):
2704         (WebInspector.DatabaseModel.prototype._sqlTransactionFailed):
2705         (WebInspector.DatabaseDispatcher):
2706         (WebInspector.DatabaseDispatcher.prototype.addDatabase):
2707         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
2708         (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
2709         * inspector/front-end/DebuggerModel.js:
2710         * inspector/front-end/FileUtils.js:
2711         (WebInspector.OutputStreamDelegate.prototype.onTransferStarted):
2712         (WebInspector.OutputStreamDelegate.prototype.onChunkTransferred):
2713         (WebInspector.OutputStreamDelegate.prototype.onTransferFinished):
2714         (WebInspector.OutputStreamDelegate.prototype.onError):
2715         (WebInspector.OutputStream):
2716         (WebInspector.OutputStream.prototype.startTransfer):
2717         (WebInspector.OutputStream.prototype.transferChunk):
2718         (WebInspector.OutputStream.prototype.finishTransfer):
2719         (WebInspector.OutputStream.prototype.dispose):
2720         * inspector/front-end/HandlerRegistry.js:
2721         * inspector/front-end/HeapSnapshotView.js:
2722         * inspector/front-end/InspectorFrontendHostStub.js:
2723         * inspector/front-end/PresentationConsoleMessageHelper.js:
2724         (WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource):
2725         * inspector/front-end/ResourcesPanel.js:
2726         (WebInspector.ResourcesPanel):
2727         (WebInspector.ResourcesPanel.prototype._reset):
2728         (WebInspector.ResourcesPanel.prototype._databaseAdded):
2729         (WebInspector.ResourcesPanel.prototype._addDatabase):
2730         (WebInspector.ResourcesPanel.prototype._domStorageAdded):
2731         (WebInspector.ResourcesPanel.prototype._addDOMStorage):
2732         (WebInspector.ResourcesPanel.prototype._showDatabase.get if):
2733         (WebInspector.ResourcesPanel.prototype._showDatabase.else.get if):
2734         (WebInspector.ResourcesPanel.prototype._showDatabase):
2735         (WebInspector.ResourcesPanel.prototype._showDOMStorage.get if):
2736         (WebInspector.ResourcesPanel.prototype._showDOMStorage):
2737         (WebInspector.ResourcesPanel.prototype._updateDatabaseTables.get if):
2738         (WebInspector.ResourcesPanel.prototype._updateDatabaseTables.tableNamesCallback):
2739         (WebInspector.DatabaseTreeElement.prototype.onselect):
2740         (WebInspector.DatabaseTableTreeElement.prototype.onselect):
2741         (WebInspector.DOMStorageTreeElement.prototype.onselect):
2742         * inspector/front-end/ScriptsPanel.js:
2743         (WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
2744         * inspector/front-end/SearchController.js:
2745         (WebInspector.SearchController.prototype.disableSearchUntilExplicitAction):
2746         * inspector/front-end/Settings.js:
2747         * inspector/front-end/Spectrum.js:
2748         * inspector/front-end/TextEditorModel.js:
2749         * inspector/front-end/UIString.js: Added.
2750         (WebInspector.UIString):
2751         * inspector/front-end/UIUtils.js:
2752         * inspector/front-end/WebKit.qrc:
2753         * inspector/front-end/externs.js:
2754         (InspectorFrontendHostAPI.prototype.platform):
2755         (InspectorFrontendHostAPI.prototype.port):
2756         (InspectorFrontendHostAPI.prototype.bringToFront):
2757         (InspectorFrontendHostAPI.prototype.closeWindow):
2758         (InspectorFrontendHostAPI.prototype.requestAttachWindow):
2759         (InspectorFrontendHostAPI.prototype.requestDetachWindow):
2760         (InspectorFrontendHostAPI.prototype.requestSetDockSide):
2761         (InspectorFrontendHostAPI.prototype.setAttachedWindowHeight):
2762         (InspectorFrontendHostAPI.prototype.moveWindowBy):
2763         (InspectorFrontendHostAPI.prototype.setInjectedScriptForOrigin):
2764         (InspectorFrontendHostAPI.prototype.loaded):
2765         (InspectorFrontendHostAPI.prototype.localizedStringsURL):
2766         (InspectorFrontendHostAPI.prototype.hiddenPanels):
2767         (InspectorFrontendHostAPI.prototype.inspectedURLChanged):
2768         (InspectorFrontendHostAPI.prototype.documentCopy):
2769         (InspectorFrontendHostAPI.prototype.copyText):
2770         (InspectorFrontendHostAPI.prototype.openInNewTab):
2771         (InspectorFrontendHostAPI.prototype.canSave):
2772         (InspectorFrontendHostAPI.prototype.save):
2773         (InspectorFrontendHostAPI.prototype.canAppend):
2774         (InspectorFrontendHostAPI.prototype.append):
2775         (InspectorFrontendHostAPI.prototype.sendMessageToBackend):
2776         (InspectorFrontendHostAPI.prototype.recordActionTaken):
2777         (InspectorFrontendHostAPI.prototype.recordPanelShown):
2778         (InspectorFrontendHostAPI.prototype.recordSettingChanged):
2779         (InspectorFrontendHostAPI.prototype.loadResourceSynchronously):
2780         (InspectorFrontendHostAPI.prototype.setZoomFactor):
2781         (InspectorFrontendHostAPI.prototype.canInspectWorkers):
2782         (SourceMapV3):
2783         (SourceMapV3.Section):
2784         (SourceMapV3.Offset):
2785         * inspector/front-end/inspector.html:
2786         * inspector/front-end/inspector.js:
2787         (WebInspector.inspect):
2788
2789 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
2790
2791         Unreviewed build fix. libWebCore needs include paths
2792         for some bits of WebCoreGtk.
2793
2794         * GNUmakefile.am:
2795
2796 2012-08-22  Koji Ishii  <kojiishi@gmail.com>
2797
2798         FontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBoundsForGlyph are not implemented on Chromium Windows
2799         https://bugs.webkit.org/show_bug.cgi?id=83512
2800
2801         Reviewed by Tony Chang.
2802
2803         Chromium Windows does not implement following 3 functions that are required for bug 51450.
2804         1. FontMetrics.unitsPerEm() always returns the default value (gDefaultUnitsPerEm = 1000).
2805         2. FontPlatformData.orientation() always returns Horizontal.
2806         3. SimpleFontData::platformBoundsForGlyph() always returns FloatRect().
2807         Tony suggested in bug 51450 review to split code that is not behind
2808         #if ENABLE(OPENTYPE_VERTICAL) to a separate patch.
2809
2810         Test: Following 3 existing but skipped tests are now enabled and pass.
2811               fast/text/emphasis-overlap.html
2812               fast/text/emphasis-avoid-ruby.html
2813               fast/repaint/text-emphasis-v.html
2814
2815         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2816         (WebCore::FontCache::createFontPlatformData): Add orientation.
2817         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
2818         (WebCore::FontPlatformData::FontPlatformData): Add orientation.
2819         (WebCore::FontPlatformData::operator=): Add orientation.
2820         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
2821         (FontPlatformData):
2822         (WebCore::FontPlatformData::orientation): Add orientation.
2823         (WebCore::FontPlatformData::setOrientation): Add orientation.
2824         (WebCore::FontPlatformData::operator==): Add orientation.
2825         * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
2826         (WebCore::SimpleFontData::platformInit): Set FontMetrics.unitsPerEm.
2827         (WebCore::SimpleFontData::createScaledFontData): Add orientation.
2828         (WebCore::SimpleFontData::platformBoundsForGlyph): Implemented.
2829         * platform/graphics/skia/FontCustomPlatformData.cpp:
2830         (WebCore::FontCustomPlatformData::fontPlatformData): Add orientation.
2831
2832 2012-08-22  Robert Hogan  <robert@webkit.org>
2833
2834         REGRESSION(r125578): fast/regex/unicodeCaseInsensitive.html crash on Linux Debug Chromium
2835         https://bugs.webkit.org/show_bug.cgi?id=94010
2836
2837         Reviewed by Tony Chang.
2838
2839         r125578 inspected the raw text run for word-end but the index it used to do so was for a normalized
2840         version of the run that could be longer than the raw text run. So to allow proper detection of word-end
2841         in complex text (i) do not normalize tabs to plain white-space and (ii) go back to using the normalized version
2842         of the run for detecting word-end. There is a risk that some fonts may create glyphs for the '\t' character 
2843         but this does not turn up in any of our regression tests and the more common risk appears to be the new-line.
2844
2845         Test: fast/regex/unicodeCaseInsensitive.html
2846
2847         * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
2848         (WebCore::normalizeSpacesAndMirrorChars):
2849
2850 2012-08-22  Andrey Adaikin  <aandrey@chromium.org>
2851
2852         Web Inspector: [WebGL] Support the communication protocol from the injected script
2853         https://bugs.webkit.org/show_bug.cgi?id=94689
2854
2855         Reviewed by Pavel Feldman.
2856
2857         Support the WebGL communication protocol from the injected script module.
2858
2859         * inspector/InjectedScriptWebGLModuleSource.js:
2860         (.):
2861
2862 2012-08-22  Gustavo Noronha Silva  <gns@gnome.org>
2863
2864         [GTK] Split WebCore/platform into a separate library
2865         https://bugs.webkit.org/show_bug.cgi?id=94435
2866
2867         Reviewed by Martin Robinson.
2868
2869         More people have been reporting problems when linking WebCore because
2870         the command line limit is being exceeded. Splitting WebCore a bit more
2871         is in order.
2872
2873         * GNUmakefile.am: add new libWebCorePlatform convenience library.
2874         * GNUmakefile.list.am: move list of platform/* files to its own variable.
2875
2876 2012-08-22  Raphael Kubo da Costa  <rakuco@webkit.org>
2877
2878         [EFL] Build failures with harfbuzz outside standard locations
2879         https://bugs.webkit.org/show_bug.cgi?id=93030
2880
2881         Reviewed by Rob Buis.
2882
2883         Add ${HARFBUZZ_INCLUDE_DIRS} to the list of included paths: so far
2884         it was being implicitly pulled from evas's pkg-config file, and
2885         used to work when WebKit-EFL's dependencies were built with
2886         jhbuild -- in this case, harfbuzz is built before evas, which is
2887         then built with harfbuzz support and adds the required paths to
2888         its .pc file.
2889
2890         We need to include things directly to account for the case of
2891         people not using jhbuild and thus not necessarily having harfbuzz
2892         as an evas dependency.
2893
2894         * PlatformEfl.cmake:
2895
2896 2012-08-22  Raul Hudea  <rhudea@adobe.com>
2897
2898         Crash in WebCore::RenderBlock::removeChild
2899         https://bugs.webkit.org/show_bug.cgi?id=93879
2900
2901         Reviewed by Abhishek Arya.
2902
2903         By adding the lifetime state to the RenderNamedFlowThread (r122556), it become possible for the a RenderRegion object to delete its sibling,
2904         the RenderNamedFlowThread. This is unexpected in the rendering world and cause problems in RenderBlock::removeChild where we retain previous
2905         and next sibling pointers.
2906         So, all the RenderNamedFlowThread are created under a RenderFlowThreadContainer object insted of the RenderView. The new object is created only
2907         when the first named flow is created.
2908
2909         Test: fast/regions/remove-flow-thread-crash.html
2910
2911         * CMakeLists.txt:
2912         * GNUmakefile.list.am:
2913         * Target.pri:
2914         * WebCore.gypi:
2915         * WebCore.vcproj/WebCore.vcproj:
2916         * WebCore.xcodeproj/project.pbxproj:
2917         * rendering/FlowThreadController.cpp:
2918         (WebCore::FlowThreadController::FlowThreadController): Added initialization for the new RenderFlowThreadContainer member
2919         (WebCore::FlowThreadController::ensureRenderFlowThreadWithName): Added the creation of the RenderFlowThreadContainer object and use it as a parent for all RenderNamedFlowThreads
2920         (WebCore::FlowThreadController::styleDidChange): Inform all the RenderNamedFlowThreads that the style changed in regions (initially this code was in RenderView, but now all RenderNamedFlowThreads are children of RenderFlowThreadContainer)
2921         (WebCore):
2922         * rendering/FlowThreadController.h:
2923         (WebCore):
2924         (FlowThreadController):
2925         * rendering/RenderFlowThreadContainer.cpp: Added.
2926         (WebCore):
2927         (WebCore::RenderFlowThreadContainer::RenderFlowThreadContainer):
2928         (WebCore::RenderFlowThreadContainer::layout):
2929         * rendering/RenderFlowThreadContainer.h: Added.
2930         * rendering/RenderObject.cpp:
2931         (WebCore::RenderObject::markContainingBlocksForLayout): Skip to RenderView if the current object is an RenderFlowThreadContainer.
2932         * rendering/RenderObject.h:
2933         (WebCore::RenderObject::isRenderFlowThreadContainer):
2934         * rendering/RenderView.cpp:
2935         (WebCore::RenderView::styleDidChange): Moved the code associated to RenderNamedFlowThreads to FlowThreadController:styleDidChange and call it instead.
2936
2937 2012-08-22  Rob Buis  <rbuis@rim.com>
2938
2939         [BlackBerry] Add RSS content handling support
2940         https://bugs.webkit.org/show_bug.cgi?id=93496
2941
2942         Reviewed by Yong Li.
2943
2944         Cleanup some more.
2945
2946         * platform/network/blackberry/rss/RSSFilterStream.cpp:
2947         (WebCore):
2948         (WebCore::createParser):
2949         (WebCore::defaultEncodingForLanguage):
2950         (WebCore::isTranscodingNeeded):
2951
2952 2012-08-21  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2953
2954         Remove unused TextDrawingMode flags from GraphicsContext
2955         https://bugs.webkit.org/show_bug.cgi?id=21898
2956
2957         Reviewed by Benjamin Poulain.
2958
2959         Remove TextModeClip and TextModeInvisible. These are not used by any port, and
2960         according to https://bugs.webkit.org/show_bug.cgi?id=42110#c2 these were added
2961         just to map CG existing flags, but are not used.
2962
2963         * platform/graphics/GraphicsContext.h:
2964         * platform/graphics/cg/GraphicsContextCG.cpp:
2965         (WebCore::GraphicsContext::setPlatformTextDrawingMode):
2966         * platform/graphics/openvg/PainterOpenVG.cpp:
2967         (WebCore::PainterOpenVG::drawText):
2968         * platform/graphics/skia/PlatformContextSkia.cpp:
2969         (WebCore::PlatformContextSkia::setTextDrawingMode):
2970
2971 2012-08-22  Sheriff Bot  <webkit.review.bot@gmail.com>
2972
2973         Unreviewed, rolling out r126287.
2974         http://trac.webkit.org/changeset/126287
2975         https://bugs.webkit.org/show_bug.cgi?id=94708
2976
2977         It made WK1 layout testing 3.7x slower (>1hours) (Requested by
2978         ossy on #webkit).
2979
2980         * bridge/qt/qt_instance.cpp:
2981         (JSC::Bindings::unusedWeakObjectMapCallback):
2982         (Bindings):
2983         (JSC::Bindings::WeakMapImpl::WeakMapImpl):
2984         (JSC::Bindings::WeakMapImpl::~WeakMapImpl):
2985         (JSC::Bindings::WeakMap::~WeakMap):
2986         (JSC::Bindings::WeakMap::set):
2987         (JSC::Bindings::WeakMap::get):
2988         (JSC::Bindings::WeakMap::remove):
2989         * bridge/qt/qt_instance.h:
2990         (QtInstance):
2991         * bridge/qt/qt_runtime.cpp:
2992         (JSC::Bindings::prototypeForSignalsAndSlots):
2993         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
2994         (JSC::Bindings::QtRuntimeMethod::call):
2995         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
2996         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
2997         * bridge/qt/qt_runtime.h:
2998         (QtRuntimeMethod):
2999
3000 2012-08-22  Pavel Feldman  <pfeldman@chromium.org>
3001
3002         Not reviewed: follow up to r126297, fixing WebCore.gypi.
3003
3004         * WebCore.gypi:
3005
3006 2012-08-22  Carlos Garcia Campos  <cgarcia@igalia.com>
3007
3008         [GTK] Preferred languages and spellchecker APIs are not consistent in WebKit2
3009         https://bugs.webkit.org/show_bug.cgi?id=94683
3010
3011         Reviewed by Alejandro G. Castro.
3012
3013         Use a Vector<String> instead of a comma-separated string to
3014         get/set languages.
3015
3016         * platform/text/gtk/TextCheckerEnchant.cpp:
3017         (TextCheckerEnchant::updateSpellCheckingLanguages):
3018         (TextCheckerEnchant::getSpellCheckingLanguages):
3019         * platform/text/gtk/TextCheckerEnchant.h:
3020         (TextCheckerEnchant):
3021
3022 2012-08-22  Pavel Feldman  <pfeldman@chromium.org>
3023
3024         Web Inspector: move NavigatorView and NavigatorOverlayController to ScriptsPanel module
3025         https://bugs.webkit.org/show_bug.cgi?id=94693
3026
3027         Reviewed by Vsevolod Vlasov.
3028
3029         Loading them via importScript now.
3030
3031         * inspector/compile-front-end.py:
3032         * inspector/front-end/ScriptsPanel.js:
3033         * inspector/front-end/inspector.html:
3034
3035 2012-08-22  KwangYong Choi  <ky0.choi@samsung.com>
3036
3037         [EFL] Support slider tick mark snapping
3038         https://bugs.webkit.org/show_bug.cgi?id=94560
3039
3040         Reviewed by Kenneth Rohde Christiansen.
3041
3042         Increased the threshold for the EFL port. The value is snapped
3043         when it clicked near tick mark.
3044
3045         No new tests. Covered by fast/forms/datalist/range-snap-to-datalist.html.
3046
3047         * platform/efl/RenderThemeEfl.cpp:
3048         (WebCore):
3049         (WebCore::RenderThemeEfl::sliderTickSnappingThreshold):
3050         * platform/efl/RenderThemeEfl.h:
3051         (RenderThemeEfl):
3052
3053 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3054
3055         [Qt] Optionally support smooth-scrolling on all platforms
3056         https://bugs.webkit.org/show_bug.cgi?id=74926
3057
3058         Reviewed by Simon Hausmann.
3059
3060         Make GestureAnimations depend on the GESTURE_ANIMATION feature flag,
3061         since GestureAnimations are unused on some platforms.
3062
3063         * Target.pri:
3064         * platform/ScrollAnimatorNone.cpp:
3065         (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
3066         (WebCore::ScrollAnimatorNone::cancelAnimations):
3067         (WebCore::ScrollAnimatorNone::animationTimerFired):
3068         * platform/ScrollAnimatorNone.h:
3069         (ScrollAnimatorNone):
3070
3071 2012-08-22  Simon Hausmann  <simon.hausmann@nokia.com>
3072
3073         [Qt] Port convertQVariantToValue to use the JSC C API
3074         https://bugs.webkit.org/show_bug.cgi?id=93889
3075
3076         Reviewed by Kenneth Rohde Christiansen.
3077
3078         Based on patch by Noam Rosenthal.
3079
3080         This patch is another step towards reducing the use of internal JSC API
3081         in the Qt bridge. Most of the conversion from QVariant to JS values is
3082         straight-forward. The biggest behavioural change is that QVariant lists
3083         are converted on-the-spot instead of lazily. Bug #94691 tracks fixing
3084         that.
3085
3086         * bridge/qt/qt_instance.cpp:
3087         (Bindings):
3088         (JSC::Bindings::QtField::valueFromInstance):
3089         * bridge/qt/qt_runtime.cpp:
3090         (JSC::Bindings::convertQVariantToValue):
3091         (JSC::Bindings::QtRuntimeMethod::call):
3092         (JSC::Bindings::QtConnectionObject::execute):
3093         (JSC::Bindings::::valueAt):
3094         * bridge/qt/qt_runtime.h:
3095         (Bindings):
3096
3097 2012-08-22  Simon Hausmann  <simon.hausmann@nokia.com>
3098
3099         [Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
3100         https://bugs.webkit.org/show_bug.cgi?id=93897
3101
3102         Reviewed by Kenneth Rohde Christiansen.
3103
3104         Before r125428 run-time methods (wrapped signals, slots or invokable
3105         functions) were subclasses of JSInternalFunction and therefore real
3106         function objects in the JavaScript sense. r125428 changed them to be
3107         just callable objects, but they did not have Function.prototype as
3108         prototype anymore for example nor was their name correct (resulting in
3109         a layout test failure).
3110
3111         This patch changes run-time methods back to being real function objects
3112         that have a correct name and have Function.prototype in their prototype
3113         change
3114
3115         The objects returned by JSObjectMakeFunctionWithCallbackInjected are
3116         light-weight internal function objects that do not support
3117         JSObject{Set/Get}Private. Therefore we inject our own prototype right
3118         before the Function.prototype prototype, which uses private data to
3119         store a pointer to our C++ QtRuntimeMethod object.  This complicates
3120         the retrieval of the pointer to that instance slightly, which is why
3121         this patch introduces the toRuntimeMethod convenience function that
3122         looks up our prototype first and does a check for type-safety.
3123
3124         At the same time the patch removes the length properties from the
3125         run-time method itself as well as connect/disconnect.  The length
3126         property on a function signifies the number of arguments, but in all
3127         three cases that number is actually variable, because of overloading.
3128         That is why we choose not to expose it in the first place.
3129
3130         In QtInstance we cache the JS wrapper objects for QtRuntimeMethod in a
3131         JSWeakObjectMap. JSWeakObjectMap requires the stored objects to be
3132         either the result of JSObjectMake or the global object of a context ref
3133         (AFAICS), which is ensured using an ASSERT. Objects created via
3134         JSObjectMakeFunctionWithCalllback do not fall into the required
3135         category, cause a failing assertion and can therefore not be stored in
3136         the weak object map.
3137
3138         Consequently this patch removes the use of JSWeakObjectMap again and
3139         goes back to the old way of using the internal Weak<> API, for the time
3140         being. In a future patch the storage will be simplified to not require
3141         the use of a weak object map cache for the run-time methods anymore.
3142
3143         * bridge/qt/qt_instance.cpp: Remove unused WeakMap code.
3144         * bridge/qt/qt_instance.h: Remove method cache.
3145         (QtInstance):
3146         * bridge/qt/qt_runtime.cpp:
3147         (JSC::Bindings::prototypeForSignalsAndSlots):
3148         (JSC::Bindings::QtRuntimeMethod::call):
3149         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
3150         (JSC::Bindings::QtRuntimeMethod::toRuntimeMethod):
3151         (Bindings):
3152         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
3153         * bridge/qt/qt_runtime.h:
3154         (QtRuntimeMethod): Remove unused member variables.
3155
3156 2012-08-22  Christophe Dumez  <christophe.dumez@intel.com>
3157
3158         window.postMessage() / MessagePort.postMessage() throw wrong exception for invalid ports argument
3159         https://bugs.webkit.org/show_bug.cgi?id=94581
3160
3161         Reviewed by Kentaro Hara.
3162
3163         Update JSC and V8 implementations of window.postMessage() and
3164         MessagePort.postMessage() in order to throw an
3165         INVALID_STATE_ERR instead of a DATA_CLONE_ERR when values
3166         in the "ports" argument are invalid. Additionally, we now
3167         check for duplicate ports and throw an exception for this
3168         case as well.
3169
3170         This change was made to comply with the latest HTML5
3171         specification at:
3172         http://www.w3.org/TR/html5/comms.html
3173
3174         No new tests, already tested by:
3175         fast/events/constructors/message-event-constructor.html
3176         fast/events/message-port-clone.html
3177         fast/events/message-port-multi.html
3178         fast/workers/worker-context-multi-port.html
3179         fast/workers/worker-multi-port.html
3180
3181         * bindings/js/JSMessagePortCustom.cpp:
3182         (WebCore::fillMessagePortArray):
3183         * bindings/v8/V8Utilities.cpp:
3184         (WebCore::extractTransferables):
3185         * dom/MessagePort.cpp:
3186         (WebCore::MessagePort::postMessage):
3187
3188 2012-08-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3189
3190         [TouchAdjustment] Adjust to word or selection
3191         https://bugs.webkit.org/show_bug.cgi?id=94449
3192
3193         Reviewed by Antonio Gomes.
3194
3195         Makes each separate word a separate subtarget when context menu triggers
3196         selections, and only the selected part of a partial selected node a 
3197         target when selections are not overridden.
3198
3199         Fix of reverted commit r126026, fix misplaced ASSERT.
3200
3201         Test: touchadjustment/context-menu-text-subtargets.html
3202
3203         * page/TouchAdjustment.cpp:
3204         (TouchAdjustment):
3205         (WebCore::TouchAdjustment::providesContextMenuItems):
3206         (WebCore::TouchAdjustment::appendQuadsToSubtargetList):
3207         (WebCore::TouchAdjustment::appendBasicSubtargetsForNode):
3208         (WebCore::TouchAdjustment::appendContextSubtargetsForNode):
3209         (WebCore::TouchAdjustment::compileSubtargetList):
3210         (WebCore::findBestClickableCandidate):
3211         (WebCore::findBestContextMenuCandidate):
3212
3213 2012-08-22  Andrey Adaikin  <aandrey@chromium.org>
3214
3215         Web Inspector: [WebGL] Generic framework draft for tracking WebGL resources
3216         https://bugs.webkit.org/show_bug.cgi?id=90597
3217
3218         Reviewed by Pavel Feldman.
3219
3220         Wrap WebGL rendering context methods and collect a trace log if we are in capturing mode.
3221         Stubbed code for collecting calls contributing to a WebGL resource state so that we could replay them later.
3222
3223         Typical scenario:
3224         - we wrap a GL context with InjectedScript.wrapWebGLContext() and return a proxy to the inspected page
3225         - the proxy saves all calls necessary to do a replay later - only those that modify a resource's state
3226         - when we turn on capturing mode (InjectedScript.captureFrame), we save all WebGL calls to a trace log
3227
3228         * inspector/InjectedScriptSource.js:
3229         (.):
3230         * inspector/InjectedScriptWebGLModuleSource.js:
3231         (.):
3232
3233 2012-08-22  Andrey Adaikin  <aandrey@chromium.org>
3234
3235         Web Inspector: [WebGL] Add minimum transport protocol from backend to frontend
3236         https://bugs.webkit.org/show_bug.cgi?id=88973
3237
3238         Reviewed by Pavel Feldman.
3239
3240         Added the following protocol methods to communicate with the WebGL injected
3241         module: captureFrame, getTraceLog, dropTraceLog, replayTraceLog.
3242
3243         * inspector/CodeGeneratorInspector.py:
3244         * inspector/InjectedScriptWebGLModule.cpp:
3245         (WebCore::InjectedScriptWebGLModule::captureFrame):
3246         (WebCore):
3247         (WebCore::InjectedScriptWebGLModule::dropTraceLog):
3248         (WebCore::InjectedScriptWebGLModule::getTraceLog):
3249         (WebCore::InjectedScriptWebGLModule::replayTraceLog):
3250         * inspector/InjectedScriptWebGLModule.h:
3251         (InjectedScriptWebGLModule):
3252         * inspector/Inspector.json:
3253         * inspector/InspectorController.cpp:
3254         (WebCore::InspectorController::InspectorController):
3255         * inspector/InspectorWebGLAgent.cpp:
3256         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
3257         (WebCore::InspectorWebGLAgent::dropTraceLog):
3258         (WebCore):
3259         (WebCore::InspectorWebGLAgent::captureFrame):
3260         (WebCore::InspectorWebGLAgent::getTraceLog):
3261         (WebCore::InspectorWebGLAgent::replayTraceLog):
3262         * inspector/InspectorWebGLAgent.h:
3263         (WebCore):
3264         (WebCore::InspectorWebGLAgent::create):
3265         (InspectorWebGLAgent):
3266
3267 2012-08-22  Hans Wennborg  <hans@chromium.org>
3268
3269         Remove unused field DeleteEntryRequest::m_type
3270         https://bugs.webkit.org/show_bug.cgi?id=94680
3271
3272         Unreviewed build fix.
3273
3274         Remove this unused field. Clang warns about it and it breaks the
3275         Chromium build.
3276
3277         No change in functionality, no new tests.
3278
3279         * inspector/InspectorFileSystemAgent.cpp:
3280         (WebCore):
3281
3282 2012-08-21  Andrey Kosyakov  <caseq@chromium.org>
3283
3284         Web Inspector: console.time() should use performance.now()
3285         https://bugs.webkit.org/show_bug.cgi?id=94263
3286
3287         Reviewed by Pavel Feldman.
3288
3289         - use monotonicallyIncreasingTime() instead of currentTime() for measuring time intervals
3290             with console.time()/console.timeEnd()
3291         - adjust precision to 3 digits after decimal point (i.e. microseconds) when formatting intervals;
3292
3293         * inspector/InspectorConsoleAgent.cpp:
3294         (WebCore::InspectorConsoleAgent::stopTiming):
3295
3296 2012-08-22  Takashi Sakamoto  <tasak@google.com>
3297
3298         Dynamically styling ShadowDom content on a node distributed to another shadow insertion point fails.
3299         https://bugs.webkit.org/show_bug.cgi?id=92899
3300
3301         Reviewed by Hajime Morita.
3302
3303         Since childNeedsStyleRecalc is not cleared when parent nodes are
3304         attached, setNeedsStyleRecalc flag is not reached Document. So,
3305         document() doesn't run re-layout.
3306
3307         Test: fast/dom/shadow/shadowdom-dynamic-styling.html
3308
3309         * dom/ContainerNode.h:
3310         (ContainerNode):
3311         (WebCore::ContainerNode::detachAsNode):
3312         Removed detachAsNode, because the below change made the method
3313         not-used.
3314         * dom/Element.cpp:
3315         (WebCore::Element::detach):
3316         Modify to invoke ContainerNode::detach when any shadow subtree is
3317         attached. ContainerNode::detach takes care of childNeedsStyleRecalc
3318         flag.
3319         * dom/ElementShadow.cpp:
3320         (WebCore::ElementShadow::invalidateDistribution):
3321         Use SetAttached for lazyAttach instead of DoNotSetAttached, because
3322         it is reuired to invoke ContainerNode::detach. If not, attached() is
3323         false and reattach() invokes only attach(). This causes to leave
3324         shadow host's childNeedsStyleRecalc flag true after
3325         Element::recalcStyle.
3326
3327 2012-08-22  Taiju Tsuiki  <tzik@chromium.org>
3328
3329         Web Inspector: Add deleteEntry command and deletionCompleted event to FileSystemAgent
3330         https://bugs.webkit.org/show_bug.cgi?id=91831
3331
3332         Reviewed by Vsevolod Vlasov.
3333
3334         InspectorAgent-side implementation of deleteEntry command.
3335
3336         Test will be added after JS-side implementation landed.
3337
3338         * inspector/Inspector.json:
3339         * inspector/InspectorFileSystemAgent.cpp:
3340         (WebCore):
3341         (WebCore::InspectorFileSystemAgent::requestFileSystemRoot):
3342         (WebCore::InspectorFileSystemAgent::requestDirectoryContent):
3343         (WebCore::InspectorFileSystemAgent::requestMetadata):
3344         (WebCore::InspectorFileSystemAgent::requestFileContent):
3345         (WebCore::InspectorFileSystemAgent::deleteEntry):
3346         (WebCore::InspectorFileSystemAgent::assertFrontend):
3347         * inspector/InspectorFileSystemAgent.h:
3348         (InspectorFileSystemAgent):
3349         * inspector/front-end/FileSystemModel.js:
3350         (WebInspector.FileSystemDispatcher.prototype.fileContentReceived):
3351         (WebInspector.FileSystemDispatcher.prototype.deletionCompleted):
3352
3353 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
3354
3355         Web Inspector: TabbedPane: measure tab widths in batches.
3356         https://bugs.webkit.org/show_bug.cgi?id=94484
3357
3358         Reviewed by Vsevolod Vlasov.
3359
3360         - Introduces global batch update schema
3361         - Migrates Toolbar and TabbedPane to the new schema
3362
3363         * inspector/front-end/ScriptsPanel.js:
3364         (WebInspector.ScriptsPanel):
3365         * inspector/front-end/TabbedPane.js:
3366         (WebInspector.TabbedPane.prototype.appendTab):
3367         (WebInspector.TabbedPane.prototype._updateTabElements):
3368         (WebInspector.TabbedPane.prototype._innerUpdateTabElements):
3369         (WebInspector.TabbedPane.prototype._updateWidths):
3370         (WebInspector.TabbedPane.prototype._measureWidths):
3371         (WebInspector.TabbedPaneTab):
3372         (WebInspector.TabbedPaneTab.prototype.width):
3373         (WebInspector.TabbedPaneTab.prototype.setWidth):
3374         * inspector/front-end/Toolbar.js:
3375         (WebInspector.Toolbar):
3376         (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
3377         (WebInspector.Toolbar.prototype._innerUpdateDropdownButtonAndHideDropdown):
3378         * inspector/front-end/UIUtils.js:
3379         (WebInspector.startBatchUpdate):
3380         (WebInspector.invokeOnceAfterBatchUpdate.get if):
3381         (WebInspector.invokeOnceAfterBatchUpdate):
3382         * inspector/front-end/inspector.js:
3383         * inspector/front-end/utilities.js:
3384
3385 2012-08-21  Kentaro Hara  <haraken@chromium.org>
3386
3387         [V8] Move String related code in V8Binding to a separate file
3388         https://bugs.webkit.org/show_bug.cgi?id=94571
3389
3390         Reviewed by Adam Barth.
3391
3392         This patch moves V8Parameter, V8ParameterBase and String related code
3393         in V8Binding to a separate file.
3394
3395         No tests. No change in behavior.
3396
3397         * UseV8.cmake:
3398         * WebCore.gypi:
3399         * bindings/v8/V8Binding.cpp:
3400         * bindings/v8/V8Binding.h:
3401         * bindings/v8/V8StringResource.cpp: Added.
3402         * bindings/v8/V8StringResource.h: Added.
3403         (WebCore):
3404
3405 2012-08-21  Sukolsak Sakshuwong  <sukolsak@google.com>
3406
3407         Implement UndoManager's automatic DOM transactions
3408         https://bugs.webkit.org/show_bug.cgi?id=91812
3409
3410         Reviewed by Ryosuke Niwa.
3411
3412         This patch implements automatic DOM transactions in UndoManager
3413         by recording changes in tree structure, attributes, and character data
3414         of nodes under undo scope host.
3415
3416         Tests: editing/undomanager/automatic-transaction-attribute.html
3417                editing/undomanager/automatic-transaction-data.html
3418                editing/undomanager/automatic-transaction-node.html
3419
3420         * CMakeLists.txt:
3421         * GNUmakefile.list.am:
3422         * WebCore.gypi:
3423         * WebCore.vcproj/WebCore.vcproj:
3424         * WebCore.xcodeproj/project.pbxproj:
3425         * bindings/js/DOMTransaction.h:
3426         (WebCore::DOMTransaction::addTransactionStep):
3427         (DOMTransaction):