9e380129b18e2d843ef087a19c271dad614dd0a5
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2013-03-12  Andrey Kosyakov  <caseq@chromium.org>
2
3         Web Inspector: coalesce repeating timeline records
4         https://bugs.webkit.org/show_bug.cgi?id=112168
5
6         Reviewed by Vsevolod Vlasov.
7
8         - coalesce repeating top-level timeline events;
9         - drive-by: only show categories that actually took time in aggregated stats;
10
11         * English.lproj/localizedStrings.js:
12         * inspector/front-end/TimelineFrameController.js:
13         (WebInspector.TimelineFrameController.prototype._innerAddRecord):
14         * inspector/front-end/TimelinePanel.js:
15         (WebInspector.TimelinePanel.prototype._highlightRect):
16         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
17         * inspector/front-end/TimelinePresentationModel.js:
18         (WebInspector.TimelinePresentationModel.prototype.reset):
19         (WebInspector.TimelinePresentationModel.prototype._innerAddRecord):
20         (WebInspector.TimelinePresentationModel.prototype._updateAncestorStats):
21         (WebInspector.TimelinePresentationModel.prototype._findCoalescedParent):
22         (WebInspector.TimelinePresentationModel.prototype._replaceWithCoalescedRecord):
23         (WebInspector.TimelinePresentationModel.Record):
24         (WebInspector.TimelinePresentationModel.adoptRecord):
25         (WebInspector.TimelinePresentationModel.insertRetrospectiveRecord):
26         (WebInspector.TimelinePresentationModel.Record.prototype.get selfTime):
27         (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
28         (WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails):
29         (WebInspector.TimelinePresentationModel.Record.prototype.calculateAggregatedStats):
30
31 2013-03-13  Philip Rogers  <pdr@google.com>
32
33         Fix body background image geometry calculation
34         https://bugs.webkit.org/show_bug.cgi?id=112226
35
36         Reviewed by Stephen Chenney.
37
38         Images that depend on a container size require a call to set the container size before
39         rendering, and a call to look up the correct image during painting.
40
41         The body's renderer is special in that it may not be the renderer that actually paints its
42         background. This patch fixes a bug where the correct RenderObject was used for looking up
43         the image, but not for setting the container size. This fixes SVG background images on body.
44
45         Test: svg/as-background-image/svg-as-background-body.html
46
47         * rendering/RenderBoxModelObject.cpp:
48         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
49         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
50
51             This change introduces clientForBackgroundImage in the background geometry calculation.
52             This is very similar to how the client is looked up in paintFillLayerExtended.
53
54         * rendering/RenderBoxModelObject.h:
55
56             The new signature for calculateBackgroundImageGeometry now mirrors
57             paintFillLayerExtended, containing a parameter for the correct background renderer.
58
59         (RenderBoxModelObject):
60
61 2013-03-13  Andrey Lushnikov  <lushnikov@chromium.org>
62
63         Web Inspector: [CodeMirror] Handle "enter" key in {|} situation
64         https://bugs.webkit.org/show_bug.cgi?id=112153
65
66         Reviewed by Vsevolod Vlasov.
67
68         Add a keymap to handle "Enter" key and override it in case of {|}
69         situation.
70
71         No new tests.
72
73         * inspector/front-end/CodeMirrorTextEditor.js:
74         (WebInspector.CodeMirrorTextEditor):
75         (WebInspector.CodeMirrorTextEditor.BlockIndentController):
76         (WebInspector.CodeMirrorTextEditor.BlockIndentController.prototype.Enter):
77
78 2013-03-13  Andrey Lushnikov  <lushnikov@chromium.org>
79
80         Web Inspector: [CodeMirror] bug with LineWidgets
81         https://bugs.webkit.org/show_bug.cgi?id=111978
82
83         Reviewed by Vsevolod Vlasov.
84
85         Implement CodeMirrorTextEditor.beginUpdates and
86         CodeMirrorTextEditor.endUpdates and surround decoration creation
87         with the beginUpdates/endUpdates calls.
88
89         No new tests.
90
91         * inspector/front-end/CodeMirrorTextEditor.js:
92         (WebInspector.CodeMirrorTextEditor):
93         (WebInspector.CodeMirrorTextEditor.prototype.beginUpdates):
94         (WebInspector.CodeMirrorTextEditor.prototype.endUpdates):
95         * inspector/front-end/SourceFrame.js:
96         (WebInspector.SourceFrame.prototype.addMessageToSource):
97
98 2013-03-13  Pavel Feldman  <pfeldman@chromium.org>
99
100         Web Inspector: get rid of hiddenPanels filter
101         https://bugs.webkit.org/show_bug.cgi?id=112252
102
103         Reviewed by Vsevolod Vlasov.
104
105         * WebCore.order:
106         * inspector/InspectorFrontendClient.h:
107         (InspectorFrontendClient):
108         * inspector/InspectorFrontendHost.cpp:
109         * inspector/InspectorFrontendHost.h:
110         (InspectorFrontendHost):
111         * inspector/InspectorFrontendHost.idl:
112         * inspector/front-end/InspectorFrontendHostStub.js:
113         * inspector/front-end/externs.js:
114         * inspector/front-end/inspector.js:
115         (WebInspector._panelDescriptors):
116         * testing/Internals.cpp:
117
118 2013-03-13  Pavel Feldman  <pfeldman@chromium.org>
119
120         Web Inspector: convert workers inspection into capability
121         https://bugs.webkit.org/show_bug.cgi?id=112251
122
123         Reviewed by Vsevolod Vlasov.
124
125         It should be up to backend
126
127         * inspector/Inspector.json:
128         * inspector/InspectorFrontendClient.h:
129         (InspectorFrontendClient):
130         * inspector/InspectorFrontendClientLocal.h:
131         * inspector/InspectorFrontendHost.cpp:
132         * inspector/InspectorFrontendHost.h:
133         (InspectorFrontendHost):
134         * inspector/InspectorFrontendHost.idl:
135         * inspector/InspectorWorkerAgent.cpp:
136         (WebCore::InspectorWorkerAgent::canInspectWorkers):
137         (WebCore):
138         * inspector/InspectorWorkerAgent.h:
139         (InspectorWorkerAgent):
140         * inspector/front-end/InspectorFrontendHostStub.js:
141         * inspector/front-end/Settings.js:
142         * inspector/front-end/externs.js:
143         * inspector/front-end/inspector.js:
144         (WebInspector.doLoadedDone):
145
146 2013-03-13  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
147
148         [EFL] Start using evas object directly in Widget class
149         https://bugs.webkit.org/show_bug.cgi?id=111858
150
151         Reviewed by Antonio Gomes.
152
153         Based on a patch by Kenneth Rohde Christiansen.
154
155         EFL Widget class should use evas object pointer directly rather
156         than WidgetPrivate* m_data as platformWidget() is a Mac specific
157         implementation detail that they are moving away from with WebKit2.
158
159         This patch brings: firstly better compliance with other ports,
160         secondly it makes code cleaner.
161
162         Besides, the evasObject is only directly used in the ScrollbarEfl
163         subclass of Widget and not in Widget or ScrollView or any other subclass,
164         thus the evas_object code has now been concentrated in ScrollbarEfl.
165
166         No new tests as there are no behavioral changes.
167
168         * page/efl/EventHandlerEfl.cpp:
169         * platform/Widget.h:
170         (Widget):
171         (WebCore::Widget::evasObject):
172         * platform/efl/ScrollbarEfl.cpp:
173         (ScrollbarEfl::~ScrollbarEfl):
174         (scrollbarEflEdjeMessage):
175         (ScrollbarEfl::show):
176         (ScrollbarEfl::hide):
177         (ScrollbarEfl::setParent):
178         (ScrollbarEfl::updateThumbPositionAndProportion):
179         (ScrollbarEfl::frameRectsChanged):
180         * platform/efl/ScrollbarEfl.h:
181         (ScrollbarEfl):
182         * platform/efl/WidgetEfl.cpp:
183         (WebCore::Widget::Widget):
184         (WebCore::Widget::~Widget):
185         (WebCore::Widget::frameRectsChanged):
186         (WebCore::Widget::show):
187         (WebCore::Widget::hide):
188         (WebCore::Widget::setEvasObject):
189         * plugins/efl/PluginViewEfl.cpp:
190         (WebCore::PluginView::platformGetValue):
191
192 2013-03-13  Andrey Lushnikov  <lushnikov@chromium.org>
193
194         Web Inspector: [CodeMirror] token highlight still has some problems
195         https://bugs.webkit.org/show_bug.cgi?id=112173
196
197         Reviewed by Vsevolod Vlasov.
198
199         Use pseudo elements with borders to draw token highlight.
200
201         No new tests.
202
203         * inspector/front-end/cm/cmdevtools.css:
204         (.cm-token-highlight):
205         (.cm-token-highlight:before):
206         (.cm-line-with-selection .cm-column-with-selection:before):
207
208 2013-03-13  Alberto Garcia  <agarcia@igalia.com>
209
210         [BlackBerry] SimpleFontData: remove duplicate code
211         https://bugs.webkit.org/show_bug.cgi?id=112149
212
213         Reviewed by Carlos Garcia Campos.
214
215         smallCapsFontData() and emphasisMarkFontData() were moved from
216         platform specific files into platform/graphics/SimpleFontData.cpp
217         in r133362, so the BlackBerry port no longer needs its own
218         implementation.
219
220         * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp:
221
222 2013-03-13  Ilya Tikhonovsky  <loislo@chromium.org>
223
224         Web Inspector: throw an exception if the requested lazy loaded script does not exist.
225         https://bugs.webkit.org/show_bug.cgi?id=112237
226
227         Reviewed by Pavel Feldman.
228
229         * inspector/front-end/utilities.js:
230
231 2013-03-13  Mike West  <mkwst@chromium.org>
232
233         Pass the XSSAuditor's report URL to the XSSAuditorDelegate on the main thread.
234         https://bugs.webkit.org/show_bug.cgi?id=112179
235
236         Reviewed by Adam Barth.
237
238         Rather than relying on XSSInfo objects to move the XSSAuditor's report
239         URL into the XSSAuditorDelegate for reporting, we should be able to grab
240         the URL directly from XSSAuditor before it moves off the main thread,
241         and store it on the delegate.
242
243         This will enable us to drop the report URL properties from both
244         XSSAuditor and XSSInfo. Oh, happy day!
245
246         * html/parser/BackgroundHTMLParser.cpp:
247         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
248             We no longer need to check whether XSSInfo objects are thread safe,
249             as we've dropped the only problematic bit.
250         * html/parser/HTMLDocumentParser.cpp:
251         (WebCore::HTMLDocumentParser::pumpTokenizer):
252         (WebCore::HTMLDocumentParser::startBackgroundParser):
253         * html/parser/XSSAuditor.cpp:
254         (WebCore::XSSAuditor::init):
255             When initializing the XSSAuditor, pass in an XSSAuditorDelegate*
256             and assign the report URL directly onto that object.
257         (WebCore::XSSAuditor::filterToken):
258             Drop the report URL parameter from XSSInfo objects we create in the
259             Auditor, as they're now handled directly from the delegate.
260         (WebCore::XSSAuditor::isSafeToSendToAnotherThread):
261             Drop the report URL property from XSSAuditor's threadsafeness check,
262             as properties that do not exist are automatically thread-safe.
263         * html/parser/XSSAuditorDelegate.cpp:
264         (WebCore::XSSAuditorDelegate::didBlockScript):
265             Use the delegate's own report URL rather than the XSSInfo objects'.
266         * html/parser/XSSAuditorDelegate.h:
267         (WebCore::XSSInfo::create):
268         (WebCore::XSSInfo::XSSInfo):
269             Drop the report URL property from XSSInfo.
270         (WebCore::XSSAuditorDelegate::setReportURL):
271         (XSSAuditorDelegate):
272             Provide a public API for setting a delegate's report URL.
273
274 2013-03-13  Mike West  <mkwst@chromium.org>
275
276         Unsafe JavaScript attempt errors are ludicrously verbose and annoying
277         https://bugs.webkit.org/show_bug.cgi?id=112042
278
279         Reviewed by Timothy Hatcher.
280
281         This patch attempts to make the most common case of error message less
282         ludicrous by adjusting it to include only an origin as opposed to full
283         URLs for the active and target frames. It now reads: "Blocked a frame
284         with origin 'http://127.0.0.1:8000' from accessing a frame with origin
285         'http://localhost:8000'. Protocols, domains, and ports must match."
286
287         In the interest of keeping the patch size down, I'll follow up on the
288         other cases (sandboxed access, 'document.domain' mismatches, etc) in
289         future patches.
290
291         * page/DOMWindow.cpp:
292         (WebCore::DOMWindow::crossDomainAccessErrorMessage):
293
294 2013-03-13  Takashi Sakamoto  <tasak@google.com>
295
296         Implement :scope for element.querySelector[All]()
297         https://bugs.webkit.org/show_bug.cgi?id=81069
298
299         Reviewed by Dimitri Glazkov.
300
301         Implemented :scope for element.querySelector[All]().
302         Reuse scope in SelectorCheckingContext and added a new value to
303         enum BehaviorAtBoundary.
304         :scope spec is http://dev.w3.org/csswg/selectors4/#scope-pseudo.
305
306         Test: fast/selectors/querySelector-scope.html
307
308         * css/CSSSelector.cpp:
309         (WebCore::CSSSelector::pseudoId):
310         (WebCore::nameToPseudoTypeMap):
311         (WebCore::CSSSelector::extractPseudoType):
312         Added :scope pseudo type.
313         * css/CSSSelector.h:
314         * css/SelectorChecker.cpp:
315         (WebCore::SelectorChecker::match):
316         (WebCore::SelectorChecker::checkOne):
317         Added PseudoScope case and modified "scope" meaning when
318         behaviorAtBoundary is equal to StaysWithinTreeScope.
319         If so, "scope" is just a contextual reference node.
320         * css/SelectorChecker.h:
321         * dom/SelectorQuery.cpp:
322         (WebCore::SelectorDataList::selectorMatches):
323         (WebCore::SelectorDataList::matches):
324         (WebCore::SelectorDataList::execute):
325         Use rootNode as a contextual reference node.
326         * dom/SelectorQuery.h:
327         (SelectorDataList):
328
329 2013-03-13  Alberto Garcia  <agarcia@igalia.com>
330
331         [BlackBerry] FontPlatformData: remove TextOrientation parameter
332         https://bugs.webkit.org/show_bug.cgi?id=112135
333
334         Reviewed by Rob Buis.
335
336         This doesn't exist since r136520.
337
338         * platform/graphics/blackberry/FontCacheBlackBerry.cpp:
339         (WebCore::FontCache::createFontPlatformData):
340         * platform/graphics/blackberry/FontCustomPlatformData.h:
341         (FontCustomPlatformData):
342         * platform/graphics/blackberry/FontCustomPlatformDataBlackBerry.cpp:
343         (WebCore::FontCustomPlatformData::fontPlatformData):
344         * platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp:
345         (WebCore::FontPlatformData::FontPlatformData):
346         (WebCore::FontPlatformData::applyState):
347         * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp:
348         (WebCore::SimpleFontData::createScaledFontData):
349
350 2013-03-12  Antti Koivisto  <antti@apple.com>
351
352         Basic child obscuration test for backgrounds
353         https://bugs.webkit.org/show_bug.cgi?id=111701
354
355         Reviewed by Simon Fraser.
356         
357         Test: fast/repaint/obscured-background-no-repaint.html
358
359         We can easily detect some simple cases where a background image is fully obscured by an opaque child.
360         
361         This avoids unncessary painting and image decoding. It is especially helpful for cases like about.com home
362         page where a fully obscured 'loading' spinner keeps triggering frequent complex repaints (gif animations
363         progress by getting painted and stop if they are not).
364         
365         This could be made way more sophisticated. The checking could also be done per-layout rather per-paint.
366         Even this simple approach gets hit surprisingly often in real world sites.
367
368         * rendering/RenderBox.cpp:
369         (WebCore::RenderBox::backgroundIsObscured):
370         
371             Before painting background test if any single child renderer fully obscures it.
372
373         (WebCore::RenderBox::backgroundIsOpaqueInRect):
374         * rendering/RenderBox.h:
375
376 2013-03-12  Hayato Ito  <hayato@chromium.org>
377
378         [Crash] Touch Events retargeting causes crashes on chrome on android.
379         https://bugs.webkit.org/show_bug.cgi?id=112210
380
381         Reviewed by Dimitri Glazkov.
382
383         Added null-check for TouchEvent's touches(), targetTouches() and changedTouches().
384
385         No new tests - no new functionality.
386
387         * dom/EventRetargeter.cpp:
388         (WebCore::EventRetargeter::adjustForTouchEvent):
389         (WebCore::EventRetargeter::adjustTouchList):
390         * dom/EventRetargeter.h:
391
392 2013-03-12  Geoffrey Garen  <ggaren@apple.com>
393
394         Unreviewed attempted Windows build fix after http://trac.webkit.org/changeset/145592.
395
396         * platform/RunLoopTimer.h: Removed.
397
398 2013-03-12  Huang Dongsung  <luxtella@company100.net>
399
400         Coordinated Graphics: Remove CoordinatedGraphicsLayer::setRootLayer().
401         https://bugs.webkit.org/show_bug.cgi?id=111835
402
403         Reviewed by Luiz Agostini.
404
405         This patch removes CoordinatedGraphicsLayer::setRootLayer() because
406         CoordinatedGraphicsScene already knows which layer is root.
407
408         No new tests, no behavior change.
409
410         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
411         * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
412         (CoordinatedGraphicsLayer):
413         * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
414         (WebCore::CoordinatedGraphicsScene::setLayerState):
415         * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
416         (WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
417
418 2013-03-12  Jun Jiang  <jun.a.jiang@intel.com>
419
420         Enable GPU-GPU texture copy in texImage2D() for HTMLVideoElement if hardware accelerated video decode is in use
421         https://bugs.webkit.org/show_bug.cgi?id=111126
422
423         Reviewed by Kenneth Russell.
424
425         In texImage2D() for HTMLVideoElement in WebGL, it is possible to do a GPU-GPU texture copy instead of CPU readback
426         and upload when videoFrame is in the form of textures. Each platform port needs to implement the interface
427         copyVideoTextureToPlatformTexture() defined in MediaPlayer.h to make it work.
428  
429         Already covered by current tests.
430
431         * html/HTMLVideoElement.cpp:
432         (WebCore::HTMLVideoElement::copyVideoTextureToPlatformTexture):
433         * html/HTMLVideoElement.h:
434         (HTMLVideoElement):
435         * html/canvas/WebGLRenderingContext.cpp:
436         (WebCore::WebGLRenderingContext::videoFrameToImage): Move some security check to upper level.
437         (WebCore::WebGLRenderingContext::texImage2D): Add the fast GPU-GPU textures copy path for HTMLVideoElement and some security check.
438         (WebCore::WebGLRenderingContext::texSubImage2D): Add some security check.
439         * html/canvas/WebGLTexture.cpp:
440         (WebCore::WebGLTexture::isValid): Added to check if the texture is defined at the given level.
441         * html/canvas/WebGLTexture.h:
442         (WebGLTexture):
443         * platform/graphics/MediaPlayer.cpp:
444         (WebCore::MediaPlayer::copyVideoTextureToPlatformTexture): Added to do the GPU-GPU textures copy.
445         * platform/graphics/MediaPlayer.h:
446         (MediaPlayer):
447         * platform/graphics/MediaPlayerPrivate.h:
448         (WebCore::MediaPlayerPrivateInterface::copyVideoTextureToPlatformTexture):
449
450 2013-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
451
452         Unreviewed, rolling out r145280.
453         http://trac.webkit.org/changeset/145280
454         https://bugs.webkit.org/show_bug.cgi?id=112217
455
456         This patch broke chromium WebGL conformance tests (Requested
457         by shawnsingh on #webkit).
458
459         * platform/graphics/gpu/DrawingBuffer.cpp:
460         (WebCore::DrawingBuffer::reset):
461         * platform/graphics/gpu/DrawingBuffer.h:
462         (DrawingBuffer):
463
464 2013-03-12  Dean Jackson  <dino@apple.com>
465
466         Don't send events to plugins that are being snapshotted
467         https://bugs.webkit.org/show_bug.cgi?id=112215
468         <rdar://problem/13386224>
469
470         Reviewed by Tim Horton.
471
472         If a plugin is in the process of being snapshotted, do not forward it
473         any events. This avoids the case where we can accidentally capture some
474         custom mouse pointers, as well as trigger a plugin menu.
475
476         The next step will be to detect if the event should stop the snapshotting
477         (restart the plugin).
478
479         * html/HTMLPlugInElement.cpp:
480         (WebCore::HTMLPlugInElement::defaultEventHandler): Return early if the plugin is snapshotting.
481
482 2013-03-12  Tim Horton  <timothy_horton@apple.com>
483
484         Unreviewed attempted Windows build fix after http://trac.webkit.org/changeset/145592.
485
486         * WebCore.vcproj/WebCore.vcproj:
487         * WebCore.vcxproj/WebCore.vcxproj:
488         * WebCore.vcxproj/WebCore.vcxproj.filters:
489
490 2013-03-12  James Robinson  <jamesr@chromium.org>
491
492         Fix Gamepad::axes and Gamepad::buttons to avoid calling std::copy(..., ..., 0)
493         https://bugs.webkit.org/show_bug.cgi?id=89510
494
495         Reviewed by Kenneth Russell.
496
497         WTF::Vector::begin() returns 0 when the vector has length zero. On windows, the debug implementation of
498         std::copy() is unhappy with 0 as a third parameter even when the first and second parameters are equal.
499
500         Covered by gamepad/gamepad-polling-access.html
501
502         * Modules/gamepad/Gamepad.cpp:
503         (WebCore::Gamepad::axes):
504         (WebCore::Gamepad::buttons):
505
506 2013-03-12  Elliott Sprehn  <esprehn@chromium.org>
507
508         Remove TextIterator.cpp's isAllCollapsibleWhitespace
509         https://bugs.webkit.org/show_bug.cgi?id=112200
510
511         Reviewed by Ryosuke Niwa.
512
513         Remove isAllCollapsibleWhitespace since nothing uses it.
514
515         * editing/TextIterator.cpp: Remove isAllCollapsibleWhitespace.
516
517 2013-03-12  Bear Travis  <betravis@adobe.com>
518
519         [css exclusions] Move ExclusionShapeInsideInfo into RenderBlockRareData
520         https://bugs.webkit.org/show_bug.cgi?id=110995
521
522         Reviewed by Julien Chaffraix.
523
524         This patch moves ExclusionShapeInsideInfo into the RenderBlockRareData struct,
525         which enables us to move away from the global ExclusionShapeInsideInfo map.
526         Some additional refactoring was done to remove ExclusionShapeInsideInfo's
527         dependency on InlineIterator, which depended on RenderBlock. This work required
528         adding a new LineSegmentIterator struct.
529
530         Refactoring, no new tests.
531
532         * rendering/ExclusionShapeInsideInfo.cpp:
533         (WebCore):
534         (WebCore::LineSegmentRange::LineSegmentRange): Moving the InlineIterator
535         constructor to the .cpp file, as InlineIterator is now forward declared in
536         the .h file.
537         (WebCore::ExclusionShapeInsideInfo::isEnabledFor): Moving isEnabledFor to
538         the .cpp file, as RenderBlock is now forward declared in the .h file.
539         * rendering/ExclusionShapeInsideInfo.h:
540         (WebCore):
541         (LineSegmentIterator): A simple struct for containing segment positions for
542         layout.
543         (WebCore::LineSegmentIterator::LineSegmentIterator): Constructor.
544         (LineSegmentRange): Transitioning to store LineSegmentIterator.
545         (WebCore::LineSegmentRange::LineSegmentRange): Ditto.
546         (ExclusionShapeInsideInfo):
547         * rendering/RenderBlock.cpp:
548         (WebCore::RenderBlock::willBeDestroyed): Destroying a block will now destroy
549         its ExclusionShapeInsideInfo, so there is no need to remove it from the map.
550         (WebCore):
551         (WebCore::RenderBlock::updateExclusionShapeInsideInfoAfterStyleChange): Use
552         the RenderBlockRareData struct rather than the global map.
553         * rendering/RenderBlock.h:
554         (WebCore):
555         (WebCore::RenderBlock::ensureExclusionShapeInsideInfo): Ensure an info struct
556         is present if the shape-inside style is set.
557         (WebCore::RenderBlock::exclusionShapeInsideInfo): Look up the info struct for
558         the current block.
559         (WebCore::RenderBlock::setExclusionShapeInsideInfo): Update the info struct
560         for the current block.
561         (RenderBlockRareData): Add the ExclusionShapeInsideInfo member. Move the struct
562         declaration to be public, so that the OwnPtr reference can properly delete it.
563         * rendering/RenderBlockLineLayout.cpp:
564         (WebCore::constructBidiRunsForLine): Construct the appropriate offsets during
565         layout based on the stored LineSegmentIterators.
566
567 2013-03-12  James Robinson  <jamesr@chromium.org>
568
569         Build fix for r145592 - update gyp files to refer to new file locations.
570
571         * WebCore.gypi:
572
573 2013-03-12  Benjamin Poulain  <bpoulain@apple.com>
574
575         Add a single character cache to WidthCache
576         https://bugs.webkit.org/show_bug.cgi?id=112084
577
578         Reviewed by Geoffrey Garen.
579
580         More than half of the values stored in WidthCache are values
581         for a single character.
582
583         Previously, we were creating a new SmallStringKey for each one of
584         them, causing a lot of extra memory operations even for the simple
585         cases.
586
587         This patch adds a second map, m_singleCharMap, to simplify the
588         computation for the common case of a single char TextRun.
589
590         * platform/graphics/WidthCache.h:
591         (WebCore::WidthCache::clear):
592         (WidthCache):
593         (WebCore::WidthCache::addSlowCase):
594
595 2013-03-12  Philip Rogers  <pdr@google.com>
596
597         Replace static_casts for SVG transformable and locatable elements
598         https://bugs.webkit.org/show_bug.cgi?id=111651
599
600         Reviewed by Abhishek Arya.
601
602         toSVGStyledTransformableElement and toSVGStyledLocatableElement are preferred over
603         static_casts because bad casts can be caught on our testing infrastructure. This patch
604         replaces all static_casts for SVGStyledTransformableElement and SVGStyledLocatableElement
605         with toSVGStyledTransformableElement and toSVGStyledLocatableElement, respectively.
606
607         No new tests as this is covered with existing tests.
608
609         * rendering/svg/RenderSVGResourceClipper.cpp:
610         (WebCore::RenderSVGResourceClipper::pathOnlyClipping):
611         * rendering/svg/RenderSVGResourceContainer.cpp:
612         (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
613         * rendering/svg/RenderSVGShape.cpp:
614         (WebCore::RenderSVGShape::updateShapeFromElement):
615         (WebCore::RenderSVGShape::layout):
616         (WebCore::RenderSVGShape::nonScalingStrokeTransform):
617         (WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
618         * rendering/svg/RenderSVGTransformableContainer.cpp:
619         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
620         * svg/SVGAnimatedLength.cpp:
621         (WebCore::SVGAnimatedLengthAnimator::calculateDistance):
622
623             This was an unnecessary cast and has been removed.
624
625         * svg/SVGElement.cpp:
626         (WebCore::SVGElement::getBoundingBox):
627         * svg/SVGLocatable.cpp:
628         (WebCore::SVGLocatable::getTransformToElement):
629         * svg/SVGStyledLocatableElement.h:
630         (WebCore):
631         (WebCore::toSVGStyledLocatableElement):
632         * svg/SVGStyledTransformableElement.h:
633         (WebCore):
634         (WebCore::toSVGStyledTransformableElement):
635
636             It makes the code cleaner to pass Node* in here, rather than converting the Node*
637             to an SVGElement* before calling this function. The same was not necessary for
638             SVGStyledLocatable.
639
640         * svg/SVGSVGElement.h:
641         (WebCore):
642         (WebCore::toSVGSVGElement):
643
644             This code has been cleaned up. During the review of this patch, a similar cleanup
645             was done in toSVGStyledTransformableElement.
646
647         * svg/SVGUseElement.cpp:
648         (WebCore::SVGUseElement::toClipPath):
649
650 2013-03-12  Abhishek Arya  <inferno@chromium.org>
651
652         Replace static_casts with to* helper functions.
653         https://bugs.webkit.org/show_bug.cgi?id=112164
654
655         Reviewed by Philip Rogers.
656
657         to* helper functions are preferred over static_cast calls since they
658         help to catch bad casts easily on the testing infrastructure.
659
660         * css/ElementRuleCollector.cpp:
661         (WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
662         * platform/gtk/PasteboardGtk.cpp:
663         (WebCore::getURLForImageNode):
664         (WebCore::Pasteboard::writeImage):
665         * platform/gtk/RenderThemeGtk.cpp:
666         (WebCore::getMediaElementFromRenderObject):
667         * platform/qt/RenderThemeQtMobile.cpp:
668         (WebCore::RenderThemeQtMobile::checkMultiple):
669         * rendering/HitTestResult.cpp:
670         (WebCore::HitTestResult::title):
671         (WebCore::HitTestResult::absoluteImageURL):
672         (WebCore::HitTestResult::absolutePDFURL):
673         * rendering/RenderLayer.cpp:
674         (WebCore::RenderLayer::resize):
675         (WebCore::RenderLayer::hitTest):
676         * rendering/RenderMenuList.cpp:
677         (WebCore::RenderMenuList::valueChanged):
678         * rendering/RenderObject.cpp:
679         (WebCore::RenderObject::addPDFURLRect):
680         * rendering/RenderPart.cpp:
681         (WebCore::RenderPart::requiresAcceleratedCompositing):
682         * rendering/RenderRegion.cpp:
683         (WebCore::RenderRegion::checkRegionStyle):
684         * rendering/RenderTableCell.cpp:
685         (WebCore::RenderTableCell::computePreferredLogicalWidths):
686         * rendering/RenderTheme.cpp:
687         (WebCore::RenderTheme::isEnabled):
688         (WebCore::RenderTheme::isSpinUpButtonPartPressed):
689         (WebCore::RenderTheme::isHovered):
690         (WebCore::RenderTheme::isSpinUpButtonPartHovered):
691         (WebCore::RenderTheme::paintSliderTicks):
692         * rendering/RenderThemeWinCE.cpp:
693         (WebCore::mediaElementParent):
694         * rendering/RenderTreeAsText.cpp:
695         (WebCore::isEmptyOrUnstyledAppleStyleSpan):
696         (WebCore::RenderTreeAsText::writeRenderObject):
697         (WebCore::writeRenderRegionList):
698         * rendering/svg/SVGRenderTreeAsText.cpp:
699         (WebCore::writeSVGResourceContainer):
700
701 2013-03-12  Geoffrey Garen  <ggaren@apple.com>
702
703         Moved RunLoopTimer and SchedulePair to WTF
704         https://bugs.webkit.org/show_bug.cgi?id=112171
705
706         Reviewed by Oliver Hunt.
707
708         This will allow us to use timers in lower level primitives without
709         duplicating all the code.
710
711         * WebCore.exp.in:
712         * WebCore.xcodeproj/project.pbxproj:
713         * loader/DocumentLoader.h:
714         (WTF):
715         (WebCore):
716         (DocumentLoader):
717         * loader/MainResourceLoader.h:
718         * page/Page.h:
719         * platform/AutodrainedPool.h: Removed.
720         * platform/cf/RunLoopTimerCF.cpp: Removed.
721         * platform/cf/SchedulePair.cpp: Removed.
722         * platform/cf/SchedulePair.h: Removed.
723         * platform/mac/AutodrainedPool.mm: Removed.
724         * platform/mac/SchedulePairMac.mm: Removed.
725         * platform/network/NetworkingContext.h:
726         * platform/network/ResourceHandle.h:
727         (WTF):
728         (WebCore):
729         (ResourceHandle):
730         * platform/network/cf/FormDataStreamCFNet.cpp:
731         * platform/network/mac/ResourceHandleMac.mm:
732
733 2013-03-12  Christian Biesinger  <cbiesinger@chromium.org>
734
735         Mac: Incorrect rendering of <audio> controls
736         https://bugs.webkit.org/show_bug.cgi?id=110913
737
738         Reviewed by Tony Chang.
739
740         Covered by existing tests under media/.
741
742         * css/mediaControls.css:
743         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
744         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
745         The timeline container and the timeline need min-width: 0 so that they can shrink if needed.
746         * css/mediaControlsQuickTime.css:
747         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
748         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
749         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
750         The timeline container also needs flex-start to ensure that it never overlaps
751         the play/rewind buttons. The current-time and remaining-time displays need min-width: 0 so that the hack
752         in RenderMediaControls.cpp works correctly - otherwise, RenderFlexibleBox tries to use the preferred width
753         of the time displays, which is wrong when they try to hide themselves.
754
755 2013-03-12  Alexey Proskuryakov  <ap@apple.com>
756
757         Improve logging in ResourceHandleMac.mm
758         https://bugs.webkit.org/show_bug.cgi?id=112185
759
760         Reviewed by Brady Eidson.
761
762         * platform/network/mac/ResourceHandleMac.mm:
763         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Removed an obsolete #if.
764         (WebCore::ResourceHandle::receivedCredential):
765         (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
766         (WebCore::ResourceHandle::receivedCancellation):
767         (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]): Added a FIXME.
768         (-[WebCoreResourceHandleAsDelegate connection:canAuthenticateAgainstProtectionSpace:]):
769
770         * platform/network/mac/ResourceResponseMac.mm: Removed an unneeded include.
771
772 2013-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
773
774         Unreviewed, rolling out r145554.
775         http://trac.webkit.org/changeset/145554
776         https://bugs.webkit.org/show_bug.cgi?id=112182
777
778         Breaks several extension browser tests (see bug for details)
779         (Requested by jamesr on #webkit).
780
781         * bindings/scripts/CodeGeneratorV8.pm:
782         (GenerateHeader):
783         (GenerateDomainSafeFunctionGetter):
784         (GenerateImplementation):
785         (CreateCustomSignature):
786         * bindings/scripts/test/V8/V8Float64Array.cpp:
787         (WebCore::ConfigureV8Float64ArrayTemplate):
788         (WebCore::V8Float64Array::GetTemplate):
789         (WebCore::V8Float64Array::HasInstance):
790         * bindings/scripts/test/V8/V8Float64Array.h:
791         (V8Float64Array):
792         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
793         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
794         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
795         (WebCore::V8TestActiveDOMObject::GetTemplate):
796         (WebCore::V8TestActiveDOMObject::HasInstance):
797         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
798         (V8TestActiveDOMObject):
799         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
800         (WebCore::V8TestCustomNamedGetter::GetTemplate):
801         (WebCore::V8TestCustomNamedGetter::HasInstance):
802         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
803         (V8TestCustomNamedGetter):
804         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
805         (WebCore::V8TestEventConstructor::GetTemplate):
806         (WebCore::V8TestEventConstructor::HasInstance):
807         * bindings/scripts/test/V8/V8TestEventConstructor.h:
808         (V8TestEventConstructor):
809         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
810         (WebCore::ConfigureV8TestEventTargetTemplate):
811         (WebCore::V8TestEventTarget::GetTemplate):
812         (WebCore::V8TestEventTarget::HasInstance):
813         * bindings/scripts/test/V8/V8TestEventTarget.h:
814         (V8TestEventTarget):
815         * bindings/scripts/test/V8/V8TestException.cpp:
816         (WebCore::V8TestException::GetTemplate):
817         (WebCore::V8TestException::HasInstance):
818         * bindings/scripts/test/V8/V8TestException.h:
819         (V8TestException):
820         * bindings/scripts/test/V8/V8TestInterface.cpp:
821         (WebCore::ConfigureV8TestInterfaceTemplate):
822         (WebCore::V8TestInterface::GetTemplate):
823         (WebCore::V8TestInterface::HasInstance):
824         * bindings/scripts/test/V8/V8TestInterface.h:
825         (V8TestInterface):
826         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
827         (WebCore::V8TestMediaQueryListListener::GetTemplate):
828         (WebCore::V8TestMediaQueryListListener::HasInstance):
829         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
830         (V8TestMediaQueryListListener):
831         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
832         (WebCore::V8TestNamedConstructor::GetTemplate):
833         (WebCore::V8TestNamedConstructor::HasInstance):
834         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
835         (V8TestNamedConstructor):
836         * bindings/scripts/test/V8/V8TestNode.cpp:
837         (WebCore::V8TestNode::GetTemplate):
838         (WebCore::V8TestNode::HasInstance):
839         * bindings/scripts/test/V8/V8TestNode.h:
840         (V8TestNode):
841         * bindings/scripts/test/V8/V8TestObj.cpp:
842         (WebCore::ConfigureV8TestObjTemplate):
843         (WebCore::V8TestObj::GetTemplate):
844         (WebCore::V8TestObj::HasInstance):
845         * bindings/scripts/test/V8/V8TestObj.h:
846         (V8TestObj):
847         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
848         (WebCore::V8TestOverloadedConstructors::GetTemplate):
849         (WebCore::V8TestOverloadedConstructors::HasInstance):
850         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
851         (V8TestOverloadedConstructors):
852         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
853         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
854         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
855         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
856         (V8TestSerializedScriptValueInterface):
857         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
858         (WebCore::ConfigureV8TestTypedefsTemplate):
859         (WebCore::V8TestTypedefs::GetTemplate):
860         (WebCore::V8TestTypedefs::HasInstance):
861         * bindings/scripts/test/V8/V8TestTypedefs.h:
862         (V8TestTypedefs):
863         * bindings/v8/V8AdaptorFunction.cpp:
864         (WebCore::V8AdaptorFunction::getTemplate):
865         * bindings/v8/V8GCController.cpp:
866         * bindings/v8/V8PerIsolateData.cpp:
867         (WebCore::V8PerIsolateData::reportMemoryUsage):
868         (WebCore::V8PerIsolateData::privateTemplate):
869         (WebCore::V8PerIsolateData::rawTemplate):
870         (WebCore::V8PerIsolateData::hasInstance):
871         * bindings/v8/V8PerIsolateData.h:
872         (WebCore::V8PerIsolateData::rawTemplateMap):
873         (WebCore::V8PerIsolateData::templateMap):
874         (V8PerIsolateData):
875         * bindings/v8/WrapperTypeInfo.h:
876         * bindings/v8/custom/V8LocationCustom.cpp:
877         (WebCore::V8Location::reloadAttrGetterCustom):
878         (WebCore::V8Location::replaceAttrGetterCustom):
879         (WebCore::V8Location::assignAttrGetterCustom):
880         * bindings/v8/custom/V8NodeListCustom.cpp:
881         (WebCore::V8NodeList::opaqueRootForGC):
882
883 2013-03-12  Gavin Peters  <gavinp@chromium.org>
884
885         [chromium] Use lipo(1) rather than file(1) to list library architectures.
886         https://bugs.webkit.org/show_bug.cgi?id=111147
887
888         Parsing file(1) output can be fragile; this patch replaces a use of file(1) to get
889         the architecture list of a library with an invocation of lipo(1), which should be more
890         stable.
891
892         Reviewed by Nico Weber.
893
894         No new tests, since adjust_visibility.sh doesn't have a test.
895
896         * WebCore.gyp/mac/adjust_visibility.sh:
897
898 2013-03-12  Viatcheslav Ostapenko  <sl.ostapenko@samsung.com>
899
900         Webkit unable to show gifs with applcation extension string shorter than 11 bytes
901         https://bugs.webkit.org/show_bug.cgi?id=110620
902
903         Reviewed by Laszlo Gombos.
904
905         Use actual block size for gifs application extension string even if it is below 11 bytes 
906         to be able to decode this kind of gifs.
907
908         Test: fast/images/gif-short-app-extension-string.html
909
910         * platform/image-decoders/gif/GIFImageReader.cpp:
911         (GIFImageReader::decodeInternal):
912
913 2013-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
914
915         Unreviewed, rolling out r145277.
916         http://trac.webkit.org/changeset/145277
917         https://bugs.webkit.org/show_bug.cgi?id=112170
918
919         chromium-gpu and android testers are seeing failures/crashes
920         relating to this code (Requested by eseidel on #webkit).
921
922         * html/parser/BackgroundHTMLInputStream.cpp:
923         (WebCore::BackgroundHTMLInputStream::rewindTo):
924         * html/parser/BackgroundHTMLInputStream.h:
925         (BackgroundHTMLInputStream):
926         (Checkpoint):
927         * html/parser/BackgroundHTMLParser.cpp:
928         * html/parser/BackgroundHTMLParser.h:
929         (BackgroundHTMLParser):
930         * html/parser/HTMLDocumentParser.cpp:
931         (WebCore::HTMLDocumentParser::pumpPendingSpeculations):
932
933 2013-03-12  Simon Fraser  <simon.fraser@apple.com>
934
935         Keep track of the number of GraphicsLayers with tiled backing in RenderLayerCompositor
936         https://bugs.webkit.org/show_bug.cgi?id=112083
937
938         Reviewed by Dean Jackson.
939
940         Have RenderLayerCompositor keep track of how many of its GraphicsLayers use TiledBacking.
941         This is useful for platforms to decide whether it's necessary to force GraphicsLayer flushes
942         to update the visibleRect of those TiledBackings.
943         
944         GraphicsLayers are always created without TiledBacking. There are two
945         ways the count can change:
946         1. A GraphicsLayerCA toggles into or out of tiled mode. It notifies its
947            client via a new tiledBackingUsageChanged() callback on GraphicsLayerClient.
948         2. A tiled GraphicsLayerCA is destroyed. Added a new bottleneck function to
949            RenderLayerBacking::willDestroyLayer() that is called everywhere we destroy layers.
950            
951         The main page TiledBacking is not counted as part of this.
952         
953         Also renamed uses of "tiledLayer" to "tiledBacking" in GraphicsLayer[CA].
954     
955         * platform/graphics/GraphicsLayer.cpp:
956         (WebCore::GraphicsLayer::GraphicsLayer):
957         (WebCore::GraphicsLayer::getDebugBorderInfo):
958         (WebCore::GraphicsLayer::dumpProperties):
959         * platform/graphics/GraphicsLayer.h:
960         (WebCore::GraphicsLayer::usingTiledBacking):
961         * platform/graphics/GraphicsLayerClient.h:
962         (WebCore::GraphicsLayerClient::tiledBackingUsageChanged):
963         * platform/graphics/ca/GraphicsLayerCA.cpp:
964         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
965         (WebCore::GraphicsLayerCA::updateGeometry):
966         (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
967         (WebCore::GraphicsLayerCA::updateContentsScale):
968         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
969         * rendering/RenderLayerBacking.cpp:
970         (WebCore::RenderLayerBacking::willDestroyLayer):
971         (WebCore::RenderLayerBacking::tiledBackingUsageChanged):
972         (WebCore::RenderLayerBacking::destroyGraphicsLayers):
973         (WebCore::RenderLayerBacking::updateClippingLayers):
974         (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
975         (WebCore::RenderLayerBacking::updateForegroundLayer):
976         (WebCore::RenderLayerBacking::updateBackgroundLayer):
977         (WebCore::RenderLayerBacking::updateMaskLayer):
978         (WebCore::RenderLayerBacking::updateScrollingLayers):
979         (WebCore::RenderLayerBacking::compositingLayerType):
980         * rendering/RenderLayerBacking.h:
981         * rendering/RenderLayerCompositor.cpp:
982         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
983         (WebCore::RenderLayerCompositor::layerTiledBackingUsageChanged):
984         * rendering/RenderLayerCompositor.h:
985         (WebCore::RenderLayerCompositor::haveNonMainLayersWithTiledBacking):
986
987 2013-03-12  Abhishek Arya  <inferno@chromium.org>
988
989         Replace static_casts with to* functions.
990         https://bugs.webkit.org/show_bug.cgi?id=112072
991
992         Reviewed by Philip Rogers.
993
994         to* functions are preferred over static_cast calls since they
995         help to catch bad casts easily on the testing infrastructure.
996
997         * accessibility/AccessibilityMenuList.cpp:
998         (WebCore::AccessibilityMenuList::canSetFocusAttribute):
999         * bindings/objc/DOM.mm:
1000         (kitClass):
1001         * bindings/v8/V8LazyEventListener.cpp:
1002         (WebCore::V8LazyEventListener::prepareListenerObject):
1003         * css/SelectorChecker.cpp:
1004         (WebCore::SelectorChecker::checkOne):
1005         * editing/ApplyStyleCommand.cpp:
1006         (WebCore::isLegacyAppleStyleSpan):
1007         (WebCore::isEmptyFontTag):
1008         (WebCore::ApplyStyleCommand::applyBlockStyle):
1009         * editing/FormatBlockCommand.cpp:
1010         (WebCore::isElementForFormatBlock):
1011         * editing/ReplaceSelectionCommand.cpp:
1012         (WebCore::isMailPasteAsQuotationNode):
1013         (WebCore::haveSameTagName):
1014         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
1015         (WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
1016         * history/CachedPage.cpp:
1017         (WebCore::CachedPage::restore):
1018         * html/ColorInputType.cpp:
1019         (WebCore::ColorInputType::suggestions):
1020         * html/HTMLTableRowsCollection.cpp:
1021         (WebCore::isInHead):
1022         (WebCore::isInBody):
1023         (WebCore::isInFoot):
1024         * inspector/DOMPatchSupport.cpp:
1025         (WebCore::DOMPatchSupport::innerPatchNode):
1026         * page/PageSerializer.cpp:
1027         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
1028         * plugins/PluginView.cpp:
1029         (WebCore::PluginView::getValue):
1030         * rendering/RenderEmbeddedObject.cpp:
1031         (WebCore::RenderEmbeddedObject::paintContents):
1032         (WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
1033         * rendering/RenderLayer.cpp:
1034         (WebCore::RenderLayer::name):
1035         * rendering/RenderMedia.cpp:
1036         (WebCore::RenderMedia::mediaElement):
1037         * rendering/RenderSearchField.cpp:
1038         (WebCore::RenderSearchField::autosaveName):
1039         * rendering/RenderTextControl.cpp:
1040         (WebCore::RenderTextControl::textFormControlElement):
1041         (WebCore::updateUserModifyProperty):
1042         * rendering/mathml/RenderMathMLFenced.cpp:
1043         (WebCore::RenderMathMLFenced::updateFromElement):
1044         * rendering/mathml/RenderMathMLFraction.cpp:
1045         (WebCore::RenderMathMLFraction::updateFromElement):
1046         * xml/parser/XMLDocumentParserLibxml2.cpp:
1047         (WebCore::XMLDocumentParser::XMLDocumentParser):
1048         (WebCore::XMLDocumentParser::endElementNs):
1049
1050 2013-03-12  Zan Dobersek  <zdobersek@igalia.com>
1051
1052         [GTK] Remove HILDON_CPPFLAGS and HILDON_CFLAGS references from GNUmakefiles
1053         https://bugs.webkit.org/show_bug.cgi?id=112163
1054
1055         Reviewed by Martin Robinson.
1056
1057         No new tests - no new functionality, merely a cleanup.
1058
1059         * GNUmakefile.am: The Hildon dependency doesn't exist anymore so there's no need for
1060         references to HILDON_CPPFLAGS and HILDON_CFLAGS.
1061
1062 2013-03-12  Pavel Feldman  <pfeldman@chromium.org>
1063
1064         Not reviewed: removing GtkVersioning from chromium targets.
1065
1066         * WebCore.gypi:
1067
1068 2013-03-12  Marja Hölttä  <marja@chromium.org>
1069
1070         [V8] Store main world and non-main world templates separately.
1071         https://bugs.webkit.org/show_bug.cgi?id=111724
1072
1073         Reviewed by Jochen Eisinger.
1074
1075         This is needed for generating specialized bindings for the main
1076         world (bug 110874).
1077
1078         No new tests (updated existing bindings tests).
1079
1080         * bindings/scripts/CodeGeneratorV8.pm:
1081         (GenerateHeader):
1082         (GenerateDomainSafeFunctionGetter):
1083         (GenerateImplementation):
1084         (CreateCustomSignature):
1085         * bindings/scripts/test/V8/V8Float64Array.cpp:
1086         (WebCore::ConfigureV8Float64ArrayTemplate):
1087         (WebCore::V8Float64Array::GetTemplate):
1088         (WebCore::V8Float64Array::HasInstance):
1089         * bindings/scripts/test/V8/V8Float64Array.h:
1090         (V8Float64Array):
1091         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1092         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1093         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1094         (WebCore::V8TestActiveDOMObject::GetTemplate):
1095         (WebCore::V8TestActiveDOMObject::HasInstance):
1096         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1097         (V8TestActiveDOMObject):
1098         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1099         (WebCore::V8TestCustomNamedGetter::GetTemplate):
1100         (WebCore::V8TestCustomNamedGetter::HasInstance):
1101         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1102         (V8TestCustomNamedGetter):
1103         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1104         (WebCore::V8TestEventConstructor::GetTemplate):
1105         (WebCore::V8TestEventConstructor::HasInstance):
1106         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1107         (V8TestEventConstructor):
1108         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1109         (WebCore::ConfigureV8TestEventTargetTemplate):
1110         (WebCore::V8TestEventTarget::GetTemplate):
1111         (WebCore::V8TestEventTarget::HasInstance):
1112         * bindings/scripts/test/V8/V8TestEventTarget.h:
1113         (V8TestEventTarget):
1114         * bindings/scripts/test/V8/V8TestException.cpp:
1115         (WebCore::V8TestException::GetTemplate):
1116         (WebCore::V8TestException::HasInstance):
1117         * bindings/scripts/test/V8/V8TestException.h:
1118         (V8TestException):
1119         * bindings/scripts/test/V8/V8TestInterface.cpp:
1120         (WebCore::ConfigureV8TestInterfaceTemplate):
1121         (WebCore::V8TestInterface::GetTemplate):
1122         (WebCore::V8TestInterface::HasInstance):
1123         * bindings/scripts/test/V8/V8TestInterface.h:
1124         (V8TestInterface):
1125         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1126         (WebCore::V8TestMediaQueryListListener::GetTemplate):
1127         (WebCore::V8TestMediaQueryListListener::HasInstance):
1128         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1129         (V8TestMediaQueryListListener):
1130         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1131         (WebCore::V8TestNamedConstructor::GetTemplate):
1132         (WebCore::V8TestNamedConstructor::HasInstance):
1133         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1134         (V8TestNamedConstructor):
1135         * bindings/scripts/test/V8/V8TestNode.cpp:
1136         (WebCore::V8TestNode::GetTemplate):
1137         (WebCore::V8TestNode::HasInstance):
1138         * bindings/scripts/test/V8/V8TestNode.h:
1139         (V8TestNode):
1140         * bindings/scripts/test/V8/V8TestObj.cpp:
1141         (WebCore::ConfigureV8TestObjTemplate):
1142         (WebCore::V8TestObj::GetTemplate):
1143         (WebCore::V8TestObj::HasInstance):
1144         * bindings/scripts/test/V8/V8TestObj.h:
1145         (V8TestObj):
1146         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1147         (WebCore::V8TestOverloadedConstructors::GetTemplate):
1148         (WebCore::V8TestOverloadedConstructors::HasInstance):
1149         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
1150         (V8TestOverloadedConstructors):
1151         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1152         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
1153         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
1154         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1155         (V8TestSerializedScriptValueInterface):
1156         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
1157         (WebCore::ConfigureV8TestTypedefsTemplate):
1158         (WebCore::V8TestTypedefs::GetTemplate):
1159         (WebCore::V8TestTypedefs::HasInstance):
1160         * bindings/scripts/test/V8/V8TestTypedefs.h:
1161         (V8TestTypedefs):
1162         * bindings/v8/V8AdaptorFunction.cpp:
1163         (WebCore::V8AdaptorFunction::getTemplate):
1164         * bindings/v8/V8GCController.cpp:
1165         * bindings/v8/V8PerIsolateData.cpp:
1166         (WebCore::V8PerIsolateData::reportMemoryUsage):
1167         (WebCore::V8PerIsolateData::privateTemplate):
1168         (WebCore::V8PerIsolateData::rawTemplate):
1169         (WebCore::V8PerIsolateData::hasInstance):
1170         * bindings/v8/V8PerIsolateData.h:
1171         (WebCore::V8PerIsolateData::rawTemplateMap):
1172         (V8PerIsolateData):
1173         (WebCore::V8PerIsolateData::templateMap):
1174         * bindings/v8/WrapperTypeInfo.h:
1175         * bindings/v8/custom/V8LocationCustom.cpp:
1176         (WebCore::V8Location::reloadAttrGetterCustom):
1177         (WebCore::V8Location::replaceAttrGetterCustom):
1178         (WebCore::V8Location::assignAttrGetterCustom):
1179
1180 2013-03-12  Zan Dobersek  <zdobersek@igalia.com>
1181
1182         [GTK] Set up the libPlatformGtk.la library
1183         https://bugs.webkit.org/show_bug.cgi?id=111738
1184
1185         Reviewed by Martin Robinson.
1186
1187         No new tests - no new functionality.
1188
1189         * GNUmakefile.am: Reference platformgtk_cppflags, platformgtk_sources variables along with webcoregtk_cppflags, webcoregtk_sources variables.
1190         * GNUmakefile.list.am: Removing GtkVersioning.c and GtkVersioning.h from the sources list, these files have been moved under Source/Platform.
1191         * bindings/gobject/GNUmakefile.am: Ditto on the platformgtk_* variables.
1192
1193 2013-03-12  Alberto Garcia  <agarcia@igalia.com>
1194
1195         [BlackBerry] Image,ImageBuffer: add missing parameters to methods
1196         https://bugs.webkit.org/show_bug.cgi?id=112148
1197
1198         Reviewed by Rob Buis.
1199
1200         BitmapImage::draw(), Image::drawPattern() and ImageBuffer::draw()
1201         have a BlendMode parameter since r137011.
1202
1203         ImageBuffer::copyImage() has a ScaleBehavior parameter since r134100.
1204
1205         * platform/graphics/blackberry/ImageBlackBerry.cpp:
1206         (WebCore::BitmapImage::draw):
1207         (WebCore::Image::drawPattern):
1208         * platform/graphics/blackberry/ImageBufferBlackBerry.cpp:
1209         (WebCore::ImageBuffer::copyImage):
1210         (WebCore::ImageBuffer::draw):
1211
1212 2013-03-12  Alberto Garcia  <agarcia@igalia.com>
1213
1214         [BlackBerry] MediaPlayerPrivate: fix call to MediaStreamDescriptor::label()
1215         https://bugs.webkit.org/show_bug.cgi?id=112140
1216
1217         Reviewed by Rob Buis.
1218
1219         MediaStreamDescriptor::id() was renamed to MediaStreamDescriptor::label() in r139352.
1220
1221         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
1222         (WebCore::toWebMediaStreamDescriptor):
1223
1224 2013-03-12  Eugene Klyuchnikov  <eustas@chromium.org>
1225
1226         Web Inspector: [REGRESSION] StepInto (F11) and StepOut (Shift-F11) shortcuts toggle Inspector window full-screen state
1227         https://bugs.webkit.org/show_bug.cgi?id=112113
1228
1229         Reviewed by Alexander Pavlov.
1230
1231         Updated handlers missed in first patch. Added JSDocs to all handlers.
1232
1233         * inspector/front-end/Panel.js: Fixed JSDocs.
1234         * inspector/front-end/CallStackSidebarPane.js:
1235         Added return values. Added JSDocs.
1236         * inspector/front-end/ScriptsPanel.js: Ditto.
1237         * inspector/front-end/GoToLineDialog.js: Added JSDocs.
1238         * inspector/front-end/TimelinePanel.js: Ditto.
1239
1240 2013-03-12  Alberto Garcia  <agarcia@igalia.com>
1241
1242         [BlackBerry] DisplayRefreshMonitor: rename m_timestamp back to m_monotonicAnimationStartTime
1243         https://bugs.webkit.org/show_bug.cgi?id=112139
1244
1245         Reviewed by Rob Buis.
1246
1247         This changed in r131131, but it was accidentally renamed back in r144465.
1248
1249         * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
1250         (WebCore::DisplayRefreshMonitor::displayLinkFired):
1251
1252 2013-03-12  Alberto Garcia  <agarcia@igalia.com>
1253
1254         [BlackBerry] FontPlatformData: HarfBuzz renaming
1255         https://bugs.webkit.org/show_bug.cgi?id=112142
1256
1257         Reviewed by Rob Buis.
1258
1259         When the old HarfBuzz code was removed in r141291,
1260         HarfBuzzNGFace.h was renamed to HarfBuzzFace.h and m_harfbuzzFace
1261         was renamed to m_harfBuzzFace.
1262
1263         These changes need to be reflected in the BlackBerry port.
1264
1265         * platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp:
1266         (WebCore::FontPlatformData::FontPlatformData):
1267         (WebCore::FontPlatformData::platformDataInit):
1268         (WebCore::FontPlatformData::platformDataAssign):
1269         (WebCore::FontPlatformData::harfBuzzFace):
1270
1271 2013-03-12  Alberto Garcia  <agarcia@igalia.com>
1272
1273         [BlackBerry] FontCacheBlackBerry: return PassRefPtr<SimpleFontData>
1274         https://bugs.webkit.org/show_bug.cgi?id=112022
1275
1276         Reviewed by Rob Buis.
1277
1278         FontData functions return PassRefPtr since r130160.
1279
1280         * platform/graphics/blackberry/FontCacheBlackBerry.cpp:
1281         (WebCore::FontCache::getFontDataForCharacters):
1282         (WebCore::FontCache::getSimilarFontPlatformData):
1283         (WebCore::FontCache::getLastResortFallbackFont):
1284         * platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp:
1285         (WebCore::SimpleFontData::createScaledFontData):
1286
1287 2013-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
1288
1289         Web Inspector: Fix checkContentUpdated behavior in UISourceCode.
1290         https://bugs.webkit.org/show_bug.cgi?id=112037
1291
1292         Reviewed by Alexander Pavlov.
1293
1294         UISourceCode.checkContentUpdated now saves last updated content that was loaded and rejected
1295         by user on the per-file basis (only the last one was saved currently).
1296
1297         * inspector/front-end/FileSystemProjectDelegate.js:
1298         (WebInspector.FileSystemProjectDelegate.prototype.innerCallback):
1299         (WebInspector.FileSystemProjectDelegate.prototype.requestFileContent):
1300         (WebInspector.FileSystemProjectDelegate.prototype.canSetFileContent):
1301         (WebInspector.FileSystemWorkspaceProvider.prototype._fileSystemAdded):
1302         * inspector/front-end/SimpleWorkspaceProvider.js:
1303         (WebInspector.SimpleProjectDelegate.prototype.canSetFileContent):
1304         * inspector/front-end/UISourceCode.js:
1305         (WebInspector.UISourceCode.prototype.checkContentUpdated.contentLoaded):
1306         (WebInspector.UISourceCode.prototype.checkContentUpdated):
1307         (WebInspector.UISourceCode.prototype._commitContent):
1308         (WebInspector.UISourceCode.prototype.addRevision):
1309         (WebInspector.UISourceCode.prototype.commitWorkingCopy):
1310         * inspector/front-end/Workspace.js:
1311         (WebInspector.ProjectDelegate.prototype.canSetFileContent):
1312         (WebInspector.Project.prototype.canSetFileContent):
1313
1314 2013-03-12  Tomas Popela  <tpopela@redhat.com>
1315
1316         [Gtk] NBSP are not replaced when using X clipboard
1317         https://bugs.webkit.org/show_bug.cgi?id=112118
1318
1319         Reviewed by Martin Robinson.
1320
1321         We're not replacing nbsp with spaces when using X clipboard
1322         (Shift+Insert or middle mouse button).
1323
1324         * platform/gtk/DataObjectGtk.cpp:
1325         (WebCore::DataObjectGtk::text):
1326
1327 2013-03-12  Florin Malita  <fmalita@chromium.org>
1328
1329         SVG Pattern pixelated on inline SVG with CSS transforms
1330         https://bugs.webkit.org/show_bug.cgi?id=111587
1331
1332         Reviewed by Dirk Schulze.
1333
1334         When calculating the resolution for resource image buffers, we need to also consider CSS
1335         transforms. This patch updates calculateTransformationToOutermostSVGCoordinateSystem()
1336         (renamed to calculateTransformationToOutermostCoordinateSystem) to include the affine
1337         component from CSS transforms by walking the parent layer tree.        
1338
1339         Test: svg/custom/resources-css-scaled.html
1340
1341         * rendering/svg/RenderSVGResourceClipper.cpp:
1342         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1343         * rendering/svg/RenderSVGResourceFilter.cpp:
1344         (WebCore::RenderSVGResourceFilter::applyResource):
1345         * rendering/svg/RenderSVGResourceGradient.cpp:
1346         (WebCore::createMaskAndSwapContextForTextGradient):
1347         (WebCore::clipToTextMask):
1348         * rendering/svg/RenderSVGResourceMasker.cpp:
1349         (WebCore::RenderSVGResourceMasker::applyResource):
1350         * rendering/svg/RenderSVGResourcePattern.cpp:
1351         (WebCore::RenderSVGResourcePattern::buildPattern):
1352         * rendering/svg/SVGRenderingContext.cpp:
1353         (WebCore::SVGRenderingContext::calculateScreenFontSizeScalingFactor):
1354         (WebCore::SVGRenderingContext::calculateTransformationToOutermostCoordinateSystem):
1355         * rendering/svg/SVGRenderingContext.h:
1356         (SVGRenderingContext):
1357
1358 2013-03-12  Yury Semikhatsky  <yurys@chromium.org>
1359
1360         Web Inspector: add html canvas memory details to the native memory overview
1361         https://bugs.webkit.org/show_bug.cgi?id=112123
1362
1363         Reviewed by Alexander Pavlov.
1364
1365         Show memory occupied vby HTMLCanvasElements under Image category
1366         in the native memory overview.
1367
1368         * inspector/front-end/NativeHeapSnapshot.js:
1369         (WebInspector.NativeHeapSnapshot.prototype.images.getImageName):
1370         (WebInspector.NativeHeapSnapshot.prototype.images.getCanvasName):
1371         (WebInspector.NativeHeapSnapshot.prototype.images):
1372         (WebInspector.NativeHeapSnapshot.prototype._addNodes):
1373
1374 2013-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
1375
1376         Web Inspector: ResourceScriptFile diverged state should be correctly reset after debugger reset.
1377         https://bugs.webkit.org/show_bug.cgi?id=112036
1378
1379         Reviewed by Alexander Pavlov.
1380
1381         * inspector/front-end/ResourceScriptMapping.js:
1382         (WebInspector.ResourceScriptFile):
1383         (WebInspector.ResourceScriptFile.prototype._workingCopyChanged):
1384         (WebInspector.ResourceScriptFile.prototype._maybeDirtyChanged):
1385
1386 2013-03-12  Marja Hölttä  <marja@chromium.org>
1387
1388         [V8] Move the GetRawTemplate and HasInstance logic from generated bindings to V8PerIsolateData
1389         https://bugs.webkit.org/show_bug.cgi?id=112136
1390
1391         Reviewed by Kentaro Hara.
1392
1393         When templates for main world and non-main worlds will be separated (bug
1394         111724), HasInstance logic will be a bit ugly: We cannot determine the
1395         world type on the fly, because during GC there is no entered context,
1396         and HasInstance is called during GC. So we need to check against
1397         templates from all the worlds. It's cleaner if that logic is in
1398         V8PerIsolateData.
1399
1400         No new tests (Updated existing bindings tests).
1401
1402         * bindings/scripts/CodeGeneratorV8.pm:
1403         (GenerateHeader):
1404         (GenerateDomainSafeFunctionGetter):
1405         (GenerateImplementation):
1406         (CreateCustomSignature):
1407         * bindings/scripts/test/V8/V8Float64Array.cpp:
1408         (WebCore::ConfigureV8Float64ArrayTemplate):
1409         (WebCore::V8Float64Array::GetTemplate):
1410         (WebCore::V8Float64Array::HasInstance):
1411         * bindings/scripts/test/V8/V8Float64Array.h:
1412         (V8Float64Array):
1413         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1414         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1415         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1416         (WebCore::V8TestActiveDOMObject::GetTemplate):
1417         (WebCore::V8TestActiveDOMObject::HasInstance):
1418         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
1419         (V8TestActiveDOMObject):
1420         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1421         (WebCore::V8TestCustomNamedGetter::GetTemplate):
1422         (WebCore::V8TestCustomNamedGetter::HasInstance):
1423         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
1424         (V8TestCustomNamedGetter):
1425         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1426         (WebCore::V8TestEventConstructor::GetTemplate):
1427         (WebCore::V8TestEventConstructor::HasInstance):
1428         * bindings/scripts/test/V8/V8TestEventConstructor.h:
1429         (V8TestEventConstructor):
1430         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1431         (WebCore::ConfigureV8TestEventTargetTemplate):
1432         (WebCore::V8TestEventTarget::GetTemplate):
1433         (WebCore::V8TestEventTarget::HasInstance):
1434         * bindings/scripts/test/V8/V8TestEventTarget.h:
1435         (V8TestEventTarget):
1436         * bindings/scripts/test/V8/V8TestException.cpp:
1437         (WebCore::V8TestException::GetTemplate):
1438         (WebCore::V8TestException::HasInstance):
1439         * bindings/scripts/test/V8/V8TestException.h:
1440         (V8TestException):
1441         * bindings/scripts/test/V8/V8TestInterface.cpp:
1442         (WebCore::ConfigureV8TestInterfaceTemplate):
1443         (WebCore::V8TestInterface::GetTemplate):
1444         (WebCore::V8TestInterface::HasInstance):
1445         * bindings/scripts/test/V8/V8TestInterface.h:
1446         (V8TestInterface):
1447         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1448         (WebCore::V8TestMediaQueryListListener::GetTemplate):
1449         (WebCore::V8TestMediaQueryListListener::HasInstance):
1450         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
1451         (V8TestMediaQueryListListener):
1452         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1453         (WebCore::V8TestNamedConstructor::GetTemplate):
1454         (WebCore::V8TestNamedConstructor::HasInstance):
1455         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
1456         (V8TestNamedConstructor):
1457         * bindings/scripts/test/V8/V8TestNode.cpp:
1458         (WebCore::V8TestNode::GetTemplate):
1459         (WebCore::V8TestNode::HasInstance):
1460         * bindings/scripts/test/V8/V8TestNode.h:
1461         (V8TestNode):
1462         * bindings/scripts/test/V8/V8TestObj.cpp:
1463         (WebCore::ConfigureV8TestObjTemplate):
1464         (WebCore::V8TestObj::GetTemplate):
1465         (WebCore::V8TestObj::HasInstance):
1466         * bindings/scripts/test/V8/V8TestObj.h:
1467         (V8TestObj):
1468         * bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
1469         (WebCore::V8TestOverloadedConstructors::GetTemplate):
1470         (WebCore::V8TestOverloadedConstructors::HasInstance):
1471         * bindings/scripts/test/V8/V8TestOverloadedConstructors.h:
1472         (V8TestOverloadedConstructors):
1473         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1474         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
1475         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
1476         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
1477         (V8TestSerializedScriptValueInterface):
1478         * bindings/scripts/test/V8/V8TestTypedefs.cpp:
1479         (WebCore::ConfigureV8TestTypedefsTemplate):
1480         (WebCore::V8TestTypedefs::GetTemplate):
1481         (WebCore::V8TestTypedefs::HasInstance):
1482         * bindings/scripts/test/V8/V8TestTypedefs.h:
1483         (V8TestTypedefs):
1484         * bindings/v8/V8PerIsolateData.cpp:
1485         (WebCore::V8PerIsolateData::rawTemplate):
1486         (WebCore):
1487         (WebCore::V8PerIsolateData::hasInstance):
1488         * bindings/v8/V8PerIsolateData.h:
1489         (V8PerIsolateData):
1490         * bindings/v8/custom/V8LocationCustom.cpp:
1491         (WebCore::V8Location::reloadAttrGetterCustom):
1492         (WebCore::V8Location::replaceAttrGetterCustom):
1493         (WebCore::V8Location::assignAttrGetterCustom):
1494
1495 2013-03-12  Eugene Klyuchnikov  <eustas@chromium.org>
1496
1497         Web Inspector: Fix JSDocs in TimelinePanel.js
1498         https://bugs.webkit.org/show_bug.cgi?id=112137
1499
1500         Reviewed by Vsevolod Vlasov.
1501
1502         Fix parameter type annotation of _loadFromFile.
1503
1504         * inspector/front-end/TimelinePanel.js: Fixed JSDoc.
1505
1506 2013-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
1507
1508         Web Inspector: Add a test for Workspace add/removeMapping methods.
1509         https://bugs.webkit.org/show_bug.cgi?id=112035
1510
1511         Reviewed by Alexander Pavlov.
1512
1513         Test: inspector/debugger/file-system-project-mapping.html
1514
1515         * inspector/front-end/ScriptsPanel.js:
1516         (WebInspector.ScriptsPanel.prototype._mapFileSystemToNetwork.mapFileSystemToNetwork):
1517         (WebInspector.ScriptsPanel.prototype._mapFileSystemToNetwork):
1518         (WebInspector.ScriptsPanel.prototype._mapNetworkToFileSystem.mapNetworkToFileSystem):
1519         (WebInspector.ScriptsPanel.prototype._mapNetworkToFileSystem):
1520         * inspector/front-end/Workspace.js:
1521         (WebInspector.Project.prototype._fileAdded):
1522         (WebInspector.Workspace.prototype.addMapping):
1523
1524 2013-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
1525
1526         Web Inspector: SourceFrames are leaking on reload.
1527         https://bugs.webkit.org/show_bug.cgi?id=111961
1528
1529         Reviewed by Alexander Pavlov.
1530
1531         Added dispose method on UISourceCodeFrame.
1532         Scripts panel now calls dispose when SourceFrame is removed and JavaScriptSourceFrame
1533         could remove breakpoint manager listeners in it.
1534         TabbedEditorContainer does not call viewForFile other than in appendFileTab methods to 
1535         avoid recreating SourceFrame for uiSourceCode when it was already removed.
1536
1537         Test: inspector/debugger/breakpoint-manager-listeners-count.html
1538
1539         * inspector/front-end/JavaScriptSourceFrame.js:
1540         (WebInspector.JavaScriptSourceFrame.prototype.dispose):
1541         * inspector/front-end/ScriptsPanel.js:
1542         * inspector/front-end/TabbedEditorContainer.js:
1543         (WebInspector.TabbedEditorContainer.prototype._addScrollAndSelectionListeners):
1544         (WebInspector.TabbedEditorContainer.prototype._removeScrollAndSelectionListeners):
1545         (WebInspector.TabbedEditorContainer.prototype._tabClosed):
1546         * inspector/front-end/UISourceCodeFrame.js:
1547         (WebInspector.UISourceCodeFrame.prototype.dispose):
1548
1549 2013-03-12  Alexander Pavlov  <apavlov@chromium.org>
1550
1551         Web Inspector: [Elements] Unable to undo "Edit as HTML" changes in the editor
1552         https://bugs.webkit.org/show_bug.cgi?id=112119
1553
1554         Reviewed by Vsevolod Vlasov.
1555
1556         No new tests, a UI change.
1557
1558         * inspector/front-end/ElementsPanel.js:
1559         (WebInspector.ElementsPanel.prototype.handleShortcut): Do not undo/redo DOM/CSS changes if editing DOM text.
1560         * inspector/front-end/ElementsTreeOutline.js:
1561         (WebInspector.ElementsTreeOutline.prototype.editing): Added.
1562
1563 2013-03-12  Andrey Lushnikov  <lushnikov@chromium.org>
1564
1565         Web Inspector: [CodeMirror] there are bugs in TokenHighlight feature
1566         https://bugs.webkit.org/show_bug.cgi?id=112039
1567
1568         Reviewed by Vsevolod Vlasov.
1569
1570         Fix token highlight in codeMirror experiment
1571         - rewrite token highlight overlay mode to highlight words, not
1572         substrings
1573         - add workaround to avoid selection of already selected word
1574
1575         No new tests.
1576
1577         * inspector/front-end/CodeMirrorTextEditor.js:
1578         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._cursorChange):
1579         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._removeHighlight):
1580         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype.nextToken):
1581         (WebInspector.CodeMirrorTextEditor.TokenHighlighter.prototype._addHighlight):
1582         * inspector/front-end/cm/cmdevtools.css:
1583         (.line-with-selection .cm-column-with-selection):
1584
1585 2013-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1586
1587         Unreviewed, rolling out r145514.
1588         http://trac.webkit.org/changeset/145514
1589         https://bugs.webkit.org/show_bug.cgi?id=112134
1590
1591         breaks Mac build (Requested by falken on #webkit).
1592
1593         * dom/Element.cpp:
1594         * dom/Element.h:
1595         * dom/EventDispatcher.cpp:
1596         (WebCore::EventDispatcher::dispatchSimulatedClick):
1597         * dom/GestureEvent.cpp:
1598         (WebCore::GestureEventDispatchMediator::dispatchEvent):
1599         * dom/MouseEvent.cpp:
1600         (WebCore::MouseEventDispatchMediator::dispatchEvent):
1601         * dom/Node.cpp:
1602         (WebCore):
1603         (WebCore::Node::isInert):
1604         (WebCore::Node::handleLocalEvents):
1605         (WebCore::Node::disabled):
1606         (WebCore::Node::willRespondToMouseMoveEvents):
1607         (WebCore::Node::willRespondToMouseClickEvents):
1608         (WebCore::Node::willRespondToTouchEvents):
1609         * dom/Node.h:
1610         (Node):
1611
1612 2013-03-12  Andrey Lushnikov  <lushnikov@chromium.org>
1613
1614         Web Inspector: [CodeMirror] highlight matching braces
1615         https://bugs.webkit.org/show_bug.cgi?id=112041
1616
1617         Reviewed by Vsevolod Vlasov.
1618
1619         Add "matchbrackets" add-on to CodeMirror text editor add override
1620         default styles for matched and unmatched braces.
1621
1622         No new tests.
1623
1624         * WebCore.gypi:
1625         * WebCore.vcproj/WebCore.vcproj:
1626         * WebCore.vcxproj/WebCore.vcxproj:
1627         * WebCore.vcxproj/WebCore.vcxproj.filters:
1628         * inspector/front-end/CodeMirrorTextEditor.js:
1629         (WebInspector.CodeMirrorTextEditor):
1630         * inspector/front-end/WebKit.qrc:
1631         * inspector/front-end/cm/cmdevtools.css:
1632         (.CodeMirror-matchingbracket):
1633         (.CodeMirror-nonmatchingbracket):
1634         * inspector/front-end/cm/matchbrackets.js: Added.
1635         (.):
1636
1637 2013-03-12  Matt Falkenhagen  <falken@chromium.org>
1638
1639         Refactoring: Pull Node::disabled() and Node::isInert() down to Element.
1640         https://bugs.webkit.org/show_bug.cgi?id=112085
1641
1642         Reviewed by Hajime Morrita.
1643
1644         Node is too low a level for these methods.
1645
1646         No new tests, just refactoring.
1647
1648         * dom/Element.cpp:
1649         (WebCore::Element::disabled):
1650         (WebCore):
1651         (WebCore::Element::isInert):
1652         * dom/Element.h:
1653         (Element):
1654         * dom/EventDispatcher.cpp:
1655         (WebCore::EventDispatcher::dispatchSimulatedClick):
1656         * dom/GestureEvent.cpp:
1657         (WebCore::GestureEventDispatchMediator::dispatchEvent):
1658         * dom/MouseEvent.cpp:
1659         (WebCore::MouseEventDispatchMediator::dispatchEvent):
1660         * dom/Node.cpp:
1661         (WebCore::Node::handleLocalEvents):
1662         (WebCore::Node::willRespondToMouseMoveEvents):
1663         (WebCore::Node::willRespondToMouseClickEvents):
1664         (WebCore::Node::willRespondToTouchEvents):
1665         * dom/Node.h:
1666         (Node):
1667
1668 2013-03-12  Marja Hölttä  <marja@chromium.org>
1669
1670         [V8] Get rid of function-level static FunctionTemplates in generated bindings code
1671         https://bugs.webkit.org/show_bug.cgi?id=111971
1672
1673         Reviewed by Jochen Eisinger.
1674
1675         In the future we'll create and store function templates for main world
1676         and non-main worlds separately (see bug 111724), having function
1677         templates as static variables inside functions will break the
1678         functionality.
1679
1680         No new tests (updated the bindings test expectations).
1681
1682         * bindings/scripts/CodeGeneratorV8.pm:
1683         (GenerateDomainSafeFunctionGetter):
1684         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1685         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1686         * bindings/v8/V8PerIsolateData.cpp:
1687         (WebCore::V8PerIsolateData::V8PerIsolateData):
1688         (WebCore::V8PerIsolateData::privateTemplate):
1689         (WebCore):
1690         * bindings/v8/V8PerIsolateData.h:
1691         (V8PerIsolateData):
1692         * bindings/v8/custom/V8LocationCustom.cpp:
1693         (WebCore::V8Location::reloadAttrGetterCustom):
1694         (WebCore::V8Location::replaceAttrGetterCustom):
1695         (WebCore::V8Location::assignAttrGetterCustom):
1696
1697 2013-03-12  Takashi Sakamoto  <tasak@google.com>
1698
1699         [Refactoring] Implement RuleCollector
1700         https://bugs.webkit.org/show_bug.cgi?id=109916
1701
1702         Reviewed by Antti Koivisto.
1703
1704         Implemented rule collector for an element and collector for a page.
1705         Not all members in class State are required entire while resolving
1706         a style.
1707
1708         No new tests, because just refactoring.
1709
1710         * CMakeLists.txt:
1711         * GNUmakefile.list.am:
1712         * Target.pri:
1713         * WebCore.gypi:
1714         * WebCore.xcodeproj/project.pbxproj:
1715         * css/CSSAllInOne.cpp:
1716         Added ElementRuleCollector and PageRuleCollector.
1717         * css/DocumentRuleSets.cpp:
1718         (WebCore::ShadowDistributedRules::collectMatchRequests):
1719         Since behaviorAtBoundary is a state owned by ElementRuleCollector,
1720         removed from here.
1721         * css/DocumentRuleSets.h:
1722         (WebCore::ShadowDistributedRules::isEmpty):
1723         Added to quickly check whether there exist any ShadowDistributedRules
1724         or not.
1725         * css/ElementRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
1726         (WebCore):
1727         (WebCore::ElementRuleCollector::matchedResult):
1728         (WebCore::ElementRuleCollector::matchedRuleList):
1729         (WebCore::ElementRuleCollector::addMatchedRule):
1730         (WebCore::ElementRuleCollector::clearMatchedRules):
1731         (WebCore::ElementRuleCollector::ensureRuleList):
1732         (WebCore::ElementRuleCollector::addElementStyleProperties):
1733         (WebCore::ElementRuleCollector::collectMatchingRules):
1734         (WebCore::ElementRuleCollector::collectMatchingRulesForRegion):
1735         (WebCore::ElementRuleCollector::sortAndTransferMatchedRules):
1736         (WebCore::ElementRuleCollector::matchScopedAuthorRules):
1737         (WebCore::ElementRuleCollector::matchHostRules):
1738         (WebCore::ElementRuleCollector::matchShadowDistributedRules):
1739         (WebCore::ElementRuleCollector::matchAuthorRules):
1740         (WebCore::ElementRuleCollector::matchUserRules):
1741         (WebCore::ElementRuleCollector::matchUARules):
1742         (WebCore::ElementRuleCollector::ruleMatches):
1743         (WebCore::ElementRuleCollector::collectMatchingRulesForList):
1744         (WebCore::ElementRuleCollector::sortMatchedRules):
1745         (WebCore::ElementRuleCollector::matchAllRules):
1746         Moved these methods from StyleResolver to this class.
1747         (WebCore::ElementRuleCollector::hasAnyMatchingRules):
1748         This method is used for checking whether a given element can share
1749         a cache.
1750         * css/ElementRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
1751         (WebCore):
1752         (WebCore::ElementRuleCollector::ElementRuleCollector):
1753         Use styleResolver instance to initialize its member variables, i.e.
1754         SelectorFilter, RuleSets, InspectorCSSOMWrappers, and
1755         StyleScopedResolver.
1756         (ElementRuleCollector):
1757         (WebCore::ElementRuleCollector::setMode):
1758         (WebCore::ElementRuleCollector::setPseudoStyleRequest):
1759         (WebCore::ElementRuleCollector::setSameOriginOnly):
1760         (WebCore::ElementRuleCollector::setRegionForStyling):
1761         Mode, SameOriginOnly, RegionForStyling are only used while collecting
1762         matched rules.
1763         (WebCore::ElementRuleCollector::setMedium):
1764         Need to know which default stylesheet should be looked up.
1765         (WebCore::ElementRuleCollector::document):
1766         * css/PageRuleCollector.cpp: Copied from Source/WebCore/css/StyleResolver.cpp.
1767         (WebCore::comparePageRules):
1768         (WebCore::PageRuleCollector::isLeftPage):
1769         (WebCore::PageRuleCollector::isFirstPage):
1770         (WebCore::PageRuleCollector::pageName):
1771         (WebCore::PageRuleCollector::matchAllPageRules):
1772         (WebCore::PageRuleCollector::matchPageRules):
1773         (WebCore::checkPageSelectorComponents):
1774         (WebCore::PageRuleCollector::matchPageRulesForList):
1775         Moved from StyleResolver.
1776         * css/PageRuleCollector.h: Copied from Source/WebCore/css/StyleResolver.h.
1777         (WebCore):
1778         (WebCore::PageRuleCollector::PageRuleCollector):
1779         (PageRuleCollector):
1780         (WebCore::PageRuleCollector::matchedResult):
1781         * css/StyleResolver.cpp:
1782         (WebCore):
1783         (WebCore::StyleResolver::State::clear):
1784         (WebCore::StyleResolver::MatchResult::addMatchedProperties):
1785         (WebCore::StyleResolver::State::initForStyleResolve):
1786         (WebCore::StyleResolver::styleSharingCandidateMatchesRuleSet):
1787         (WebCore::StyleResolver::styleForElement):
1788         (WebCore::StyleResolver::styleForKeyframe):
1789         (WebCore::StyleResolver::pseudoStyleForElement):
1790         (WebCore::StyleResolver::styleForPage):
1791         (WebCore::StyleResolver::pseudoStyleRulesForElement):
1792         (WebCore::StyleResolver::applyMatchedProperties):
1793         * css/StyleResolver.h:
1794         (WebCore::MatchRequest::MatchRequest):
1795         Removed behaviorAtBoundary. Instead, ElementRuleCollector have the
1796         state.
1797         (MatchRequest):
1798         (WebCore::StyleResolver::selectorFilter):
1799         Added to obtain SelectorFilter in ElementRuleCollector's constructor.
1800         (StyleResolver):
1801         (MatchResult):
1802         (WebCore::StyleResolver::State::State):
1803         To pass ASSERT in StyleResolver::applyProperties, need to keep
1804         m_regionForStyling.
1805         (State):
1806         (WebCore::StyleResolver::State::regionForStyling):
1807         (WebCore::StyleResolver::State::useSVGZoomRules):
1808         (WebCore::StyleResolver::hasSelectorForId):
1809         (WebCore):
1810         (WebCore::checkRegionSelector):
1811         * inspector/InspectorCSSAgent.cpp:
1812         (WebCore::InspectorCSSAgent::willMatchRule):
1813         Removed StyleResolver from its parameter list. Instead, added
1814         InspectorCSSOMWrappers and DocumentStyleSheetCollection.
1815         * inspector/InspectorCSSAgent.h:
1816         (WebCore):
1817         (InspectorCSSAgent):
1818         * inspector/InspectorInstrumentation.cpp:
1819         (WebCore):
1820         (WebCore::InspectorInstrumentation::willMatchRuleImpl):
1821         * inspector/InspectorInstrumentation.h:
1822         (WebCore):
1823         (InspectorInstrumentation):
1824         (WebCore::InspectorInstrumentation::willMatchRule):
1825
1826 2013-03-12  Floris Bos  <bos@je-eigen-domein.nl>
1827
1828         [Qt] WebKit fails to compile if EGL headers are not in default INCLUDEPATH
1829         https://bugs.webkit.org/show_bug.cgi?id=111859
1830
1831         Reviewed by Jocelyn Turcotte.
1832
1833         The 3D graphics code wants to include EGL header files.
1834         But on some platforms such as the Raspberry Pi those are not in /usr/include
1835         but in another folder.
1836         Fix adds "egl" to CONFIG when OpenGL ES2 is used, so the right include
1837         paths are added.
1838
1839         * WebCore.pri:
1840
1841 2013-03-12  Mike West  <mkwst@chromium.org>
1842
1843         XSSAuditor should send only one console error when blocking a page.
1844         https://bugs.webkit.org/show_bug.cgi?id=110733
1845
1846         Reviewed by Daniel Bates.
1847
1848         Currently, we send two console errors when XSSAuditor blocks a page:
1849         "Refused to execute a JavaScript script. Source code of script found
1850         within request.\n", and "Entire page will be blocked.".
1851
1852         We should only send one message, tuning it properly for the context, and
1853         including the URL of the page effected by the XSSAuditor's work.
1854
1855         Covered by rebaselines of all the XSSAuditor and 'reflected-xss' tests.
1856
1857         * html/parser/XSSAuditor.cpp:
1858         * html/parser/XSSAuditor.h:
1859         (WebCore::XSSAuditor::XSSAuditor):
1860             Add two booleans to track the headers used to set the XSSAuditor state.
1861         (WebCore::XSSAuditor::init):
1862         (WebCore::XSSAuditor::filterToken):
1863             Add detail about the header status to the constructed XSSInfo object.
1864         * html/parser/XSSAuditorDelegate.cpp:
1865         (WebCore::buildConsoleError):
1866             Move message construction out into a separate inlined function, as
1867             it's becoming complex.
1868         (WebCore::XSSAuditorDelegate::didBlockScript):
1869             Fold the "Entire page will be blocked" message into the main console
1870             error.
1871         * html/parser/XSSAuditorDelegate.h:
1872         (WebCore::XSSInfo::create):
1873         (WebCore::XSSInfo::XSSInfo):
1874             Add detail about header status to XSSInfo in order to correctly
1875             construct the console error.
1876
1877 2013-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1878
1879         Unreviewed, rolling out r145494.
1880         http://trac.webkit.org/changeset/145494
1881         https://bugs.webkit.org/show_bug.cgi?id=112117
1882
1883         Breaks Chromium Mac (Requested by pfeldman on #webkit).
1884
1885         * bindings/scripts/CodeGeneratorV8.pm:
1886         (GenerateDomainSafeFunctionGetter):
1887         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1888         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1889         * bindings/v8/V8PerIsolateData.cpp:
1890         (WebCore::V8PerIsolateData::V8PerIsolateData):
1891         * bindings/v8/V8PerIsolateData.h:
1892         (V8PerIsolateData):
1893         * bindings/v8/custom/V8LocationCustom.cpp:
1894         (WebCore::V8Location::reloadAttrGetterCustom):
1895         (WebCore::V8Location::replaceAttrGetterCustom):
1896         (WebCore::V8Location::assignAttrGetterCustom):
1897
1898 2013-03-12  Yury Semikhatsky  <yurys@chromium.org>
1899
1900         Web Inspector: add memory instrumentation for ImageLoader
1901         https://bugs.webkit.org/show_bug.cgi?id=112115
1902
1903         Reviewed by Alexander Pavlov.
1904
1905         Added memory instrumentation to ImageLoader. CachedImage referenced
1906         by the loader is reported as having retaining reference. This allows
1907         to see in the native memory graph CachedImages that are not reachable
1908         from MemoryCache but referenced by HTMLImageElement.
1909
1910         * loader/ImageLoader.cpp:
1911         (WebCore::ImageLoader::reportMemoryUsage):
1912         (WebCore):
1913         * loader/ImageLoader.h:
1914         (ImageLoader):
1915
1916 2013-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
1917
1918         Web Inspector: Broken shortcuts in Snippets SourceFrame
1919         https://bugs.webkit.org/show_bug.cgi?id=112038
1920
1921         Reviewed by Pavel Feldman.
1922
1923         * inspector/front-end/SnippetJavaScriptSourceFrame.js:
1924         (WebInspector.SnippetJavaScriptSourceFrame):
1925         (WebInspector.SnippetJavaScriptSourceFrame.prototype._onKeyDown):
1926
1927 2013-03-12  Eugene Klyuchnikov  <eustas@chromium.org>
1928
1929         Web Inspector: [Timeline] File selector control becomes visible on "tab" navigation.
1930         https://bugs.webkit.org/show_bug.cgi?id=111710
1931
1932         Reviewed by Pavel Feldman.
1933
1934         Solution: Exclude file selector control from tab-navigation flow.
1935
1936         * inspector/front-end/FileUtils.js: Set tab-index to control.
1937         * inspector/front-end/TimelinePanel.js: Remove duplicating code.
1938         * inspector/front-end/inspector.css:
1939         (.status-bar-item): Make scroll height equal to offset height.
1940
1941 2013-03-12  Marja Hölttä  <marja@chromium.org>
1942
1943         [V8] Get rid of function-level static FunctionTemplates in generated bindings code
1944         https://bugs.webkit.org/show_bug.cgi?id=111971
1945
1946         Reviewed by Kentaro Hara.
1947
1948         In the future we'll create and store function templates for main world
1949         and non-main worlds separately (see bug 111724), having function
1950         templates as static variables inside functions will break the
1951         functionality.
1952
1953         No new tests (updated the bindings test expectations).
1954
1955         * bindings/scripts/CodeGeneratorV8.pm:
1956         (GenerateDomainSafeFunctionGetter):
1957         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1958         (WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
1959         * bindings/v8/V8PerIsolateData.cpp:
1960         (WebCore::V8PerIsolateData::V8PerIsolateData):
1961         (WebCore::V8PerIsolateData::privateTemplate):
1962         (WebCore):
1963         * bindings/v8/V8PerIsolateData.h:
1964         (V8PerIsolateData):
1965         * bindings/v8/custom/V8LocationCustom.cpp:
1966         (WebCore::V8Location::reloadAttrGetterCustom):
1967         (WebCore::V8Location::replaceAttrGetterCustom):
1968         (WebCore::V8Location::assignAttrGetterCustom):
1969
1970 2013-03-12  Tien-Ren Chen  <trchen@chromium.org>
1971
1972         Need to notify ScrollingCoordinator when frame scrollbars are destroyed
1973         https://bugs.webkit.org/show_bug.cgi?id=112104
1974
1975         Reviewed by James Robinson.
1976
1977         Need to notify ScrollingCoordinatorChromium whenever m_layerForHorizontalScrollbar /
1978         m_layerForVerticalScrollbar changes, for correct lifetime management.
1979
1980         No new tests. Difficult to test lifetime management internal to ScrollingCoordinatorChromium.
1981
1982         * rendering/RenderLayerCompositor.cpp:
1983         (WebCore::RenderLayerCompositor::destroyRootLayer):
1984
1985 2013-03-11  Simon Fraser  <simon.fraser@apple.com>
1986
1987         We'll get there eventually.
1988
1989         * platform/graphics/ca/win/PlatformCAFiltersWin.cpp:
1990
1991 2013-03-11  Simon Fraser  <simon.fraser@apple.com>
1992
1993         Fumbled adding new files to the vcproj. Fixing.
1994
1995         * WebCore.vcproj/WebCore.vcproj:
1996
1997 2013-03-11  Simon Fraser  <simon.fraser@apple.com>
1998
1999         Fix the Windows build by providing implementations of PlatformCAFilters::setFiltersOnLayer(),
2000         PlatformCAFilters::numAnimatedFilterProperties() and PlatformCAFilters::animatedFilterPropertyName(),
2001         adding PlatformCAFiltersWin.cpp to the vcproj.
2002         
2003         * WebCore.vcproj/WebCore.vcproj:
2004         * platform/graphics/ca/PlatformCAFilters.h:
2005         (PlatformCAFilters):
2006         * platform/graphics/ca/win/PlatformCAFiltersWin.cpp: Copied from Source/WebCore/platform/graphics/ca/PlatformCAFilters.h.
2007         (PlatformCAFilters::setFiltersOnLayer):
2008         (PlatformCAFilters::numAnimatedFilterProperties):
2009         (PlatformCAFilters::animatedFilterPropertyName):
2010
2011 2013-03-11  Jochen Eisinger  <jochen@chromium.org>
2012
2013         Don't create multiple user gesture indicators when forwarding events to sub frames
2014         https://bugs.webkit.org/show_bug.cgi?id=111923
2015
2016         Reviewed by Adam Barth.
2017
2018         Ports that implement consumable user gestures depend on a single user
2019         gesture indicator being created in response to a single user gesture.
2020
2021         Test: platform/chromium/fast/events/popup-allowed-from-gesture-only-once-iframes.html
2022
2023         * dom/UserGestureIndicator.cpp:
2024         (WebCore::isDefinite):
2025         (WebCore::UserGestureIndicator::UserGestureIndicator):
2026         (WebCore::UserGestureIndicator::processingUserGesture):
2027         * dom/UserGestureIndicator.h:
2028         * page/EventHandler.cpp:
2029         (WebCore::EventHandler::handleMousePressEvent):
2030         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2031         (WebCore::EventHandler::handleMouseReleaseEvent):
2032         (WebCore::EventHandler::keyEvent):
2033         (WebCore::EventHandler::handleTouchEvent):
2034
2035 2013-03-11  Simon Fraser  <simon.fraser@apple.com>
2036
2037         Fix Windows build.
2038
2039         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
2040
2041 2013-03-11  Tim Horton  <timothy_horton@apple.com>
2042
2043         Unreviewed build fix after http://trac.webkit.org/changeset/145472.
2044
2045         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
2046         (PlatformCAFilters::colorMatrixValueForFilter):
2047
2048 2013-03-11  Takashi Sakamoto  <tasak@google.com>
2049
2050         [CSS] shadow from radius has wrong render in webkit
2051         https://bugs.webkit.org/show_bug.cgi?id=99928
2052
2053         Reviewed by Simon Fraser.
2054
2055         No rounded cornder should be expanded in the mixed case, i.e. some
2056         corners are rounded, but others are not rounded.
2057         Need to look at each corner independently,
2058         i.e. top-left, top-right, bottom-left and bottom-right, and
2059         to expand corners whose width and height are larger than 0.
2060
2061         Test: fast/box-shadow/box-shadow-with-zero-radius.html
2062
2063         * platform/graphics/RoundedRect.cpp:
2064         (WebCore::RoundedRect::Radii::expand):
2065
2066 2013-03-11  Simon Fraser  <simon.fraser@apple.com>
2067
2068         [CA] Animations of CSS filters don't work correctly
2069         https://bugs.webkit.org/show_bug.cgi?id=111905
2070
2071         Reviewed by Dean Jackson.
2072
2073         Fix various issues with transitions of composited filters on Mac,
2074         most of which stemmed from the conversion to use CAFilter.
2075         
2076         Put the Mac CA filter-related code into a new file, PlatformCAFilters,
2077         to group code that creates filter properties into a single place.
2078         
2079         Animations of CIFilters using multiple values never worked correctly,
2080         because we would clobber all but the last property for each filter,
2081         so fix that.
2082         
2083         Changes in the moved filter code:
2084             - Made use of sepiaFullConstants in the CIFilter and CAFilter code.
2085             - For CI, return CIVectors instead of NSArrays of NSNumbers.
2086             - Fudge the inputColor for the CI grayscale filter to better match software filters.
2087             - fix some cases where the behavior was wrong in the isDefault() case.
2088
2089         * WebCore.xcodeproj/project.pbxproj: Add PlatformCAFilters.h, PlatformCAFiltersMac.mm.
2090         * platform/graphics/GraphicsLayer.cpp:
2091         (WebCore::GraphicsLayer::animationNameForTransition): This function was creating a string
2092         containing non-ASCII characters.
2093         * platform/graphics/ca/GraphicsLayerCA.cpp:
2094         (WebCore::animationIdentifier): To handle CIFilter animations, we need to tack another
2095         index onto the animation identifier, since some animations require animating multiple
2096         properties of the same CIFilter. Add "subIndex" for this.
2097         (WebCore::GraphicsLayerCA::moveOrCopyAnimations): Ditto.
2098         (WebCore::GraphicsLayerCA::updateAnimations): Ditto.
2099         (WebCore::GraphicsLayerCA::setAnimationOnLayer): Ditto.
2100         (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer): Ditto.
2101         (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer): Ditto.
2102         (WebCore::GraphicsLayerCA::createAnimationFromKeyframes): Ditto.
2103         (WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Ditto.
2104         * platform/graphics/ca/GraphicsLayerCA.h: Ditto.
2105         (WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation):
2106         (LayerPropertyAnimation):
2107         * platform/graphics/ca/PlatformCAAnimation.h:
2108         (PlatformCAAnimation): Functions moved.
2109         * platform/graphics/ca/PlatformCAFilters.h: Added.
2110         (PlatformCAFilters):
2111         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
2112         (PlatformCAAnimation::setFromValue):
2113         (PlatformCAAnimation::setToValue):
2114         (PlatformCAAnimation::setValues):
2115         * platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Added.
2116         (PlatformCAFilters::filterValueForOperation):
2117         (PlatformCAFilters::colorMatrixValueForFilter):
2118         (PlatformCAFilters::numAnimatedFilterProperties):
2119         (PlatformCAFilters::animatedFilterPropertyName):
2120         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2121         (PlatformCALayer::PlatformCALayer):
2122         (PlatformCALayer::addAnimationForKey):
2123         (PlatformCALayer::setFilters):
2124         (PlatformCALayer::filtersCanBeComposited):
2125
2126 2013-03-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2127
2128         Unreviewed, rolling out r145462.
2129         http://trac.webkit.org/changeset/145462
2130         https://bugs.webkit.org/show_bug.cgi?id=112097
2131
2132         Compilation failure in PluginView.cpp (Requested by jamesr_ on
2133         #webkit).
2134
2135         * accessibility/AccessibilityMenuList.cpp:
2136         (WebCore::AccessibilityMenuList::canSetFocusAttribute):
2137         * bindings/objc/DOM.mm:
2138         (kitClass):
2139         * bindings/v8/V8LazyEventListener.cpp:
2140         (WebCore::V8LazyEventListener::prepareListenerObject):
2141         * css/SelectorChecker.cpp:
2142         (WebCore::SelectorChecker::checkOne):
2143         * editing/ApplyStyleCommand.cpp:
2144         (WebCore::isLegacyAppleStyleSpan):
2145         (WebCore::isEmptyFontTag):
2146         (WebCore::ApplyStyleCommand::applyBlockStyle):
2147         * editing/FormatBlockCommand.cpp:
2148         (WebCore::isElementForFormatBlock):
2149         * editing/ReplaceSelectionCommand.cpp:
2150         (WebCore::isMailPasteAsQuotationNode):
2151         (WebCore::haveSameTagName):
2152         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
2153         (WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
2154         * history/CachedPage.cpp:
2155         (WebCore::CachedPage::restore):
2156         * html/ColorInputType.cpp:
2157         (WebCore::ColorInputType::suggestions):
2158         * html/HTMLTableRowsCollection.cpp:
2159         (WebCore::isInHead):
2160         (WebCore::isInBody):
2161         (WebCore::isInFoot):
2162         * inspector/DOMPatchSupport.cpp:
2163         (WebCore::DOMPatchSupport::innerPatchNode):
2164         * page/PageSerializer.cpp:
2165         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
2166         * plugins/PluginView.cpp:
2167         (WebCore::PluginView::getValue):
2168         * rendering/RenderEmbeddedObject.cpp:
2169         (WebCore::RenderEmbeddedObject::paintContents):
2170         (WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
2171         * rendering/RenderLayer.cpp:
2172         (WebCore::RenderLayer::name):
2173         * rendering/RenderMedia.cpp:
2174         (WebCore::RenderMedia::mediaElement):
2175         * rendering/RenderSearchField.cpp:
2176         (WebCore::RenderSearchField::autosaveName):
2177         * rendering/RenderTextControl.cpp:
2178         (WebCore::RenderTextControl::textFormControlElement):
2179         (WebCore::updateUserModifyProperty):
2180         * rendering/mathml/RenderMathMLFenced.cpp:
2181         (WebCore::RenderMathMLFenced::updateFromElement):
2182         * rendering/mathml/RenderMathMLFraction.cpp:
2183         (WebCore::RenderMathMLFraction::updateFromElement):
2184         * xml/parser/XMLDocumentParserLibxml2.cpp:
2185         (WebCore::XMLDocumentParser::XMLDocumentParser):
2186         (WebCore::XMLDocumentParser::endElementNs):
2187
2188 2013-03-11  Alexey Proskuryakov  <ap@apple.com>
2189
2190         Move SharedWorkerRepository functions out of DefaultSharedWorkerRepository
2191         https://bugs.webkit.org/show_bug.cgi?id=100418
2192
2193         Reviewed by Sam Weinig.
2194
2195         * CMakeLists.txt:
2196         * GNUmakefile.list.am:
2197         * Target.pri:
2198         * WebCore.vcproj/WebCore.vcproj:
2199         * WebCore.xcodeproj/project.pbxproj:
2200         Added SharedWorkerRepository.cpp.
2201
2202         * WebCore.gyp/WebCore.gyp:
2203         * WebCore.gypi:
2204         Chromium uses WebKit/chromium/src/SharedWorkerRepository.cpp instead of
2205         WebCore/workers/DefaultSharedWorkerRepository.cpp. Not sure why it's added and
2206         then excluded, but did the same with the new SharedWorkerRepository.cpp, which
2207         just contains some code moved from that file.
2208
2209         * workers/DefaultSharedWorkerRepository.cpp:
2210         (WebCore::SharedWorkerScriptLoader::load): Removed a PLATFORM(CHROMIUM) clause,
2211         chromium doesn't compile this file.
2212         (WebCore::DefaultSharedWorkerRepository::connectToWorker): Added a FIXME about
2213         seemingly wrong code.
2214
2215         * workers/SharedWorkerRepository.cpp: Added.
2216         (WebCore::SharedWorkerRepository::isAvailable):
2217         (WebCore::SharedWorkerRepository::connect):
2218         (WebCore::SharedWorkerRepository::documentDetached):
2219         (WebCore::SharedWorkerRepository::hasSharedWorkers):
2220         Moved from DefaultSharedWorkerRepository.cpp, because this is part of SharedWorkerRepository.
2221
2222 2013-03-11  Adam Barth  <abarth@webkit.org>
2223
2224         Make BackgroundHTMLParser work with doc.writes that enter or leave foreign content
2225         https://bugs.webkit.org/show_bug.cgi?id=109764
2226
2227         Reviewed by Eric Seidel.
2228
2229         Previously, we were not reseting the state of the
2230         HTMLTreeBuilderSimulator when we failed speculative parsing. This had a
2231         number of observable consequences, including not parsing CDATA sections
2232         correctly when document.write caused us to enter foreign content.
2233
2234         Test: fast/parser/document-write-svg-cdata.html
2235
2236         * html/parser/BackgroundHTMLParser.cpp:
2237         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
2238         (WebCore::BackgroundHTMLParser::resumeFrom):
2239         (WebCore::BackgroundHTMLParser::pumpTokenizer):
2240         (WebCore::BackgroundHTMLParser::sendTokensToMainThread):
2241         * html/parser/BackgroundHTMLParser.h:
2242         (Checkpoint):
2243         (BackgroundHTMLParser):
2244         * html/parser/HTMLDocumentParser.cpp:
2245         (WebCore::HTMLDocumentParser::validateSpeculations):
2246         (WebCore::HTMLDocumentParser::didFailSpeculation):
2247         * html/parser/HTMLDocumentParser.h:
2248         (ParsedChunk):
2249         * html/parser/HTMLElementStack.h:
2250         (WebCore::HTMLElementStack::ElementRecord::namespaceURI):
2251         * html/parser/HTMLTreeBuilder.h:
2252         (WebCore::HTMLTreeBuilder::options):
2253         (WebCore::HTMLTreeBuilder::openElements):
2254         (HTMLTreeBuilder):
2255         * html/parser/HTMLTreeBuilderSimulator.cpp:
2256         (WebCore::HTMLTreeBuilderSimulator::stateFor):
2257         (WebCore):
2258         * html/parser/HTMLTreeBuilderSimulator.h:
2259         (WebCore):
2260         (WebCore::HTMLTreeBuilderSimulator::state):
2261         (WebCore::HTMLTreeBuilderSimulator::setState):
2262         (HTMLTreeBuilderSimulator):
2263
2264 2013-03-11  Abhishek Arya  <inferno@chromium.org>
2265
2266         Replace static_casts with to* functions.
2267         https://bugs.webkit.org/show_bug.cgi?id=112072
2268
2269         Reviewed by Philip Rogers.
2270
2271         to* functions are preferred over static_cast calls since they
2272         help to catch bad casts easily on the testing infrastructure.
2273
2274         * accessibility/AccessibilityMenuList.cpp:
2275         (WebCore::AccessibilityMenuList::canSetFocusAttribute):
2276         * bindings/objc/DOM.mm:
2277         (kitClass):
2278         * bindings/v8/V8LazyEventListener.cpp:
2279         (WebCore::V8LazyEventListener::prepareListenerObject):
2280         * css/SelectorChecker.cpp:
2281         (WebCore::SelectorChecker::checkOne):
2282         * editing/ApplyStyleCommand.cpp:
2283         (WebCore::isLegacyAppleStyleSpan):
2284         (WebCore::isEmptyFontTag):
2285         (WebCore::ApplyStyleCommand::applyBlockStyle):
2286         * editing/FormatBlockCommand.cpp:
2287         (WebCore::isElementForFormatBlock):
2288         * editing/ReplaceSelectionCommand.cpp:
2289         (WebCore::isMailPasteAsQuotationNode):
2290         (WebCore::haveSameTagName):
2291         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
2292         (WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):
2293         * history/CachedPage.cpp:
2294         (WebCore::CachedPage::restore):
2295         * html/ColorInputType.cpp:
2296         (WebCore::ColorInputType::suggestions):
2297         * html/HTMLTableRowsCollection.cpp:
2298         (WebCore::isInHead):
2299         (WebCore::isInBody):
2300         (WebCore::isInFoot):
2301         * inspector/DOMPatchSupport.cpp:
2302         (WebCore::DOMPatchSupport::innerPatchNode):
2303         * page/PageSerializer.cpp:
2304         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
2305         * plugins/PluginView.cpp:
2306         (WebCore::PluginView::getValue):
2307         * rendering/RenderEmbeddedObject.cpp:
2308         (WebCore::RenderEmbeddedObject::paintContents):
2309         (WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
2310         * rendering/RenderLayer.cpp:
2311         (WebCore::RenderLayer::name):
2312         * rendering/RenderMedia.cpp:
2313         (WebCore::RenderMedia::mediaElement):
2314         * rendering/RenderSearchField.cpp:
2315         (WebCore::RenderSearchField::autosaveName):
2316         * rendering/RenderTextControl.cpp:
2317         (WebCore::RenderTextControl::textFormControlElement):
2318         (WebCore::updateUserModifyProperty):
2319         * rendering/mathml/RenderMathMLFenced.cpp:
2320         (WebCore::RenderMathMLFenced::updateFromElement):
2321         * rendering/mathml/RenderMathMLFraction.cpp:
2322         (WebCore::RenderMathMLFraction::updateFromElement):
2323         * xml/parser/XMLDocumentParserLibxml2.cpp:
2324         (WebCore::XMLDocumentParser::XMLDocumentParser):
2325         (WebCore::XMLDocumentParser::endElementNs):
2326
2327 2013-03-11  Philip Rogers  <pdr@google.com>
2328
2329         Replace static_casts for SVGSVGElement and SVGStopElement
2330         https://bugs.webkit.org/show_bug.cgi?id=111651
2331
2332         Reviewed by Stephen Chenney.
2333
2334         toSVGSVGElement and toSVGStopElement are preferred over static_casts because bad casts
2335         can be caught on our testing infrastructure. This patches replaces all static_casts for
2336         SVGSVGElement and SVGStopElement with toSVGSVGElement and toSVGStopElement, respectively.
2337
2338         Additionaly, this patch renames SVGElement::isSVG to SVGElement::isSVGSVGElement to
2339         remove ambiguity for callers who may confuse this with isSVGElement.
2340
2341         No new tests as this is covered with existing tests.
2342
2343         * rendering/svg/RenderSVGRoot.cpp:
2344         (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
2345         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
2346         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
2347         (WebCore::RenderSVGRoot::layout):
2348         (WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform):
2349         (WebCore::RenderSVGRoot::hasRelativeDimensions):
2350         (WebCore::RenderSVGRoot::hasRelativeIntrinsicLogicalWidth):
2351         (WebCore::RenderSVGRoot::hasRelativeLogicalHeight):
2352         * rendering/svg/RenderSVGViewportContainer.cpp:
2353         (WebCore::RenderSVGViewportContainer::determineIfLayoutSizeChanged):
2354         (WebCore::RenderSVGViewportContainer::calcViewport):
2355         (WebCore::RenderSVGViewportContainer::viewportTransform):
2356         * svg/SVGDocument.cpp:
2357         (WebCore::SVGDocument::rootElement):
2358         (WebCore::SVGDocument::childShouldCreateRenderer):
2359         * svg/SVGElement.cpp:
2360         (WebCore::SVGElement::ownerSVGElement):
2361         * svg/SVGElement.h:
2362         (WebCore::SVGElement::isSVGSVGElement):
2363         * svg/SVGGradientElement.cpp:
2364         (WebCore::SVGGradientElement::buildStops):
2365         * svg/SVGLengthContext.cpp:
2366         (WebCore::SVGLengthContext::determineViewport):
2367         * svg/SVGSVGElement.h:
2368         (WebCore):
2369         (WebCore::toSVGSVGElement):
2370         * svg/SVGStopElement.h:
2371         (WebCore::toSVGStopElement):
2372         (WebCore):
2373
2374 2013-03-11  Tony Chang  <tony@chromium.org>
2375
2376         Small code cleanup in RenderFlexibleBox
2377         https://bugs.webkit.org/show_bug.cgi?id=112076
2378
2379         Reviewed by Ojan Vafai.
2380
2381         No new tests, this is a refactor and existing tests in css3/flexbox should pass.
2382
2383         * rendering/RenderFlexibleBox.cpp:
2384         (WebCore::RenderFlexibleBox::layoutBlock): Remove unused param from repositionLogicalHeightDependentFlexItems.
2385         (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems): Remove unused param from repositionLogicalHeightDependentFlexItems.
2386         The clientLogicalBottom can't have changed in this time (the only thing we've done is align children).
2387         (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Just call layout() if we marked the flexitem as needing layout.
2388         (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Just call layout() if we marked the flexitem as needing layout.
2389         * rendering/RenderFlexibleBox.h:
2390         (RenderFlexibleBox): Remove unused param from repositionLogicalHeightDependentFlexItems.
2391
2392 2013-03-11  Jochen Eisinger  <jochen@chromium.org>
2393
2394         Rename DefinitelyProcessingUserGesture to DefinitelyProcessingNewUserGesture
2395         https://bugs.webkit.org/show_bug.cgi?id=111959
2396
2397         Reviewed by Alexey Proskuryakov.
2398
2399         The rationale is that the UserGestureIndicator will increase the number
2400         of consumable user gestures when it's invoked with what is now
2401         DefinitelyProcessingNewUserGesture.
2402
2403         In a follow-up change I will reintroduce DefinitelyProcessingUserGesture
2404         which will only increase the consumable user gesture count if we are
2405         not already processing a user gesture.
2406
2407         No new tests, no change in functionality.
2408
2409         * accessibility/AccessibilityNodeObject.cpp:
2410         (WebCore::AccessibilityNodeObject::increment):
2411         (WebCore::AccessibilityNodeObject::decrement):
2412         * accessibility/AccessibilityObject.cpp:
2413         (WebCore::AccessibilityObject::press):
2414         * bindings/ScriptControllerBase.cpp:
2415         (WebCore::ScriptController::executeScript):
2416         * bindings/js/ScriptController.cpp:
2417         (WebCore::ScriptController::executeScriptInWorld):
2418         * bindings/v8/NPV8Object.cpp:
2419         (_NPN_EvaluateHelper):
2420         * dom/UserGestureIndicator.cpp:
2421         (WebCore::isDefinite):
2422         (WebCore::UserGestureIndicator::UserGestureIndicator):
2423         (WebCore::UserGestureIndicator::processingUserGesture):
2424         * dom/UserGestureIndicator.h:
2425         * inspector/InspectorFrontendClientLocal.cpp:
2426         (WebCore::InspectorFrontendClientLocal::openInNewTab):
2427         * inspector/InspectorFrontendHost.cpp:
2428         (WebCore::FrontendMenuProvider::contextMenuItemSelected):
2429         * inspector/InspectorPageAgent.cpp:
2430         (WebCore::InspectorPageAgent::navigate):
2431         * loader/NavigationScheduler.cpp:
2432         (WebCore::ScheduledURLNavigation::fire):
2433         (WebCore::ScheduledURLNavigation::didStartTimer):
2434         (WebCore::ScheduledRedirect::fire):
2435         (WebCore::ScheduledRefresh::fire):
2436         (WebCore::ScheduledHistoryNavigation::fire):
2437         (WebCore::ScheduledFormSubmission::fire):
2438         (WebCore::ScheduledFormSubmission::didStartTimer):
2439         * page/EventHandler.cpp:
2440         (WebCore::EventHandler::handleMousePressEvent):
2441         (WebCore::EventHandler::handleMouseDoubleClickEvent):
2442         (WebCore::EventHandler::handleMouseReleaseEvent):
2443         (WebCore::EventHandler::keyEvent):
2444         (WebCore::EventHandler::handleTouchEvent):
2445         * platform/chromium/PopupContainer.cpp:
2446         (WebCore::PopupContainer::handleMouseDownEvent):
2447         (WebCore::PopupContainer::handleMouseMoveEvent):
2448         (WebCore::PopupContainer::handleMouseReleaseEvent):
2449         (WebCore::PopupContainer::handleWheelEvent):
2450         (WebCore::PopupContainer::handleKeyEvent):
2451
2452 2013-03-11  Yuki Sekiguchi  <yuki.sekiguchi@access-company.com>
2453
2454         Ruby text is incorrectly positioned when its writing-mode is changed to vertical after layout is done
2455         https://bugs.webkit.org/show_bug.cgi?id=96592
2456
2457         Reviewed by Hajime Morrita.
2458
2459         Fixed logical left of RenderRubyText is not cleared.
2460
2461         This causes trouble when RenderRubyTest is laid out vertically after horizontally.
2462         Horizontal layout set logical top(== y).
2463         Vertical layout don't set logical left(== y).
2464         RenderRubyText::y remain old one.
2465         We clear old RenderRubyText::y at the first part of layout().
2466
2467         Test: fast/writing-mode/ruby-text-logical-left.html
2468
2469         * rendering/RenderRubyRun.cpp:
2470         (WebCore::RenderRubyRun::layout): Reset logicalLeft not to reuse old one.
2471
2472 2013-03-11  Lamarque V. Souza  <Lamarque.Souza@basyskom.com>
2473
2474         [css3-text] Add partial parsing support for text-underline-position property from CSS3 Text
2475         https://bugs.webkit.org/show_bug.cgi?id=102491
2476
2477         Reviewed by Julien Chaffraix.
2478
2479         This patch extends the existing parsing to support 'auto', 'alphabetic' and 'under'. We don't fully match
2480         the specification as we don't support [ left | right ] and this is left for another implementation
2481         as the rendering will need to be added.
2482
2483         Test: fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-underline-position.html
2484
2485         * css/CSSComputedStyleDeclaration.cpp:
2486         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2487         * css/CSSParser.cpp:
2488         (WebCore::CSSParser::parseValue):
2489         (WebCore::CSSParser::parseTextUnderlinePosition):
2490         * css/CSSParser.h:
2491         * css/CSSPrimitiveValueMappings.h:
2492         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2493         (WebCore::CSSPrimitiveValue::operator TextUnderlinePosition):
2494         * css/CSSProperty.cpp:
2495         (WebCore::CSSProperty::isInheritedProperty):
2496         Added parsing-related checks for text-underline-position property.
2497         * css/CSSPropertyNames.in: Added '-webkit-underline-position' property.
2498         * css/CSSValueKeywords.in:
2499         * css/SVGCSSValueKeywords.in:
2500         * css/StyleBuilder.cpp:
2501         (ApplyPropertyTextUnderlinePosition):
2502         (WebCore::ApplyPropertyTextUnderlinePosition::applyValue):
2503         (WebCore::ApplyPropertyTextUnderlinePosition::createHandler):
2504         (WebCore::StyleBuilder::StyleBuilder):
2505         Set property handler for text-underline-position.
2506         * css/StyleResolver.cpp:
2507         (WebCore::StyleResolver::applyProperty):
2508         * rendering/style/RenderStyle.h:
2509         * rendering/style/RenderStyleConstants.h:
2510         * rendering/style/StyleRareInheritedData.cpp:
2511         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
2512         (WebCore::StyleRareInheritedData::operator==):
2513         Added support for m_textUnderlinePosition on copy constructor and operator
2514         assignment functions.
2515         * rendering/style/StyleRareInheritedData.h:
2516         (StyleRareInheritedData): Added m_textUnderlinePosition here as it won't be used regularly.
2517
2518 2013-03-11  Christian Biesinger  <cbiesinger@chromium.org>
2519
2520         Hit testing should use ancestorInThisScope to get the non-shadow ancestor
2521         https://bugs.webkit.org/show_bug.cgi?id=112068
2522
2523         Reviewed by Dimitri Glazkov.
2524
2525         Tests: media/nodesFromRect-shadowContent.html
2526
2527         * rendering/HitTestResult.cpp:
2528         (WebCore::HitTestResult::setToNonShadowAncestor):
2529         (WebCore::HitTestResult::addNodeToRectBasedTestResult):
2530         Use ancestorInThisScope which is not deprecated and which produces
2531         correct results for nested shadow trees (e.g. in case of <video>,
2532         which contains <input> elements for the controls, which themselves
2533         have shadow trees)
2534
2535 2013-03-11  Abhishek Arya  <inferno@chromium.org>
2536
2537         Replace static_cast with to* helper functions.
2538         https://bugs.webkit.org/show_bug.cgi?id=112045
2539
2540         Reviewed by Eric Seidel.
2541
2542         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2543         (WebCore::V8HTMLOptionsCollection::removeMethodCustom):
2544         (WebCore::V8HTMLOptionsCollection::indexedPropertySetter):
2545         * bindings/v8/custom/V8NamedNodesCollection.cpp:
2546         (WebCore::V8NamedNodesCollection::namedItem):
2547         * bindings/v8/custom/V8NodeCustom.cpp:
2548         (WebCore::wrap):
2549         * editing/BreakBlockquoteCommand.cpp:
2550         (WebCore::BreakBlockquoteCommand::doApply):
2551         * editing/CompositeEditCommand.cpp:
2552         (WebCore::CompositeEditCommand::insertNodeAt):
2553         (WebCore::CompositeEditCommand::pushAnchorElementDown):
2554         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
2555         (WebCore::CompositeEditCommand::splitTreeToNode):
2556         * editing/InsertParagraphSeparatorCommand.cpp:
2557         (WebCore::InsertParagraphSeparatorCommand::doApply):
2558         * loader/archive/cf/LegacyWebArchive.cpp:
2559         (WebCore::LegacyWebArchive::create):
2560         * platform/chromium/PasteboardChromium.cpp:
2561         (WebCore::Pasteboard::writeImage):
2562         * platform/mac/HTMLConverter.mm:
2563         (+[WebHTMLConverter editingAttributedStringFromRange:]):
2564         * rendering/RenderLayerBacking.cpp:
2565         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
2566         * rendering/RenderLayerCompositor.cpp:
2567         (WebCore::RenderLayerCompositor::frameContentsCompositor):
2568         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
2569         * rendering/RenderSnapshottedPlugIn.cpp:
2570         (WebCore::RenderSnapshottedPlugIn::plugInImageElement):
2571         * rendering/mathml/RenderMathMLOperator.cpp:
2572         (WebCore::RenderMathMLOperator::updateFromElement):
2573         * rendering/svg/RenderSVGResourceContainer.cpp:
2574         (WebCore::RenderSVGResourceContainer::idChanged):
2575
2576 2013-03-11  James Robinson  <jamesr@chromium.org>
2577
2578         [chromium] Use SkMatrix44 instead of WebTransformationMatrix in animation APIs
2579         https://bugs.webkit.org/show_bug.cgi?id=111791
2580
2581         Reviewed by Adrienne Walker.
2582
2583         Adds a new utility function to convert a TransformationMatrix to an SkMatrix44 and
2584         uses it in AnimationTranslationUtil and GraphicsLayerChromium.
2585
2586         * WebCore.gypi:
2587         * platform/chromium/support/WebTransformationMatrix.cpp:
2588         (WebKit::WebTransformationMatrix::WebTransformationMatrix):
2589         * platform/graphics/chromium/AnimationTranslationUtil.cpp:
2590         (WebCore::toWebTransformOperations):
2591         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2592         (WebCore::GraphicsLayerChromium::updateTransform):
2593         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
2594         * platform/graphics/chromium/TransformSkMatrix44Conversions.cpp:
2595         (WebCore::TransformSkMatrix44Conversions::convert):
2596         * platform/graphics/chromium/TransformSkMatrix44Conversions.h:
2597         (TransformSkMatrix44Conversions):
2598
2599 2013-03-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2600
2601         Unreviewed, rolling out r145435.
2602         http://trac.webkit.org/changeset/145435
2603         https://bugs.webkit.org/show_bug.cgi?id=112082
2604
2605         Still does not compile (Requested by jamesr on #webkit).
2606
2607         * Modules/indexeddb/IDBBackingStore.cpp:
2608         (WebCore::IDBBackingStore::getObjectStores):
2609         (WebCore::IDBBackingStore::createObjectStore):
2610         (WebCore::IDBBackingStore::deleteObjectStore):
2611         (WebCore::IDBBackingStore::getRecord):
2612         (WebCore::IDBBackingStore::putRecord):
2613         (WebCore::IDBBackingStore::clearObjectStore):
2614         (WebCore::IDBBackingStore::deleteRecord):
2615         (WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
2616         (WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
2617         (WebCore::IDBBackingStore::keyExistsInObjectStore):
2618         (WebCore::IDBBackingStore::getIndexes):
2619         (WebCore::IDBBackingStore::createIndex):
2620         (WebCore::IDBBackingStore::deleteIndex):
2621         (WebCore::IDBBackingStore::putIndexDataForRecord):
2622         (WebCore::IDBBackingStore::findKeyInIndex):
2623         (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
2624         (WebCore::IDBBackingStore::keyExistsInIndex):
2625         (WebCore::indexCursorOptions):
2626         * Modules/indexeddb/IDBBackingStore.h:
2627         (IDBBackingStore):
2628         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
2629         (WebCore::DeleteIndexOperation::create):
2630         (WebCore::DeleteIndexOperation::DeleteIndexOperation):
2631         (DeleteIndexOperation):
2632         (WebCore::IDBDatabaseBackendImpl::openInternal):
2633         (WebCore::IDBDatabaseBackendImpl::deleteIndex):
2634         (WebCore::DeleteIndexOperation::perform):
2635         (WebCore::DeleteRangeOperation::perform):
2636         (WebCore::ClearOperation::perform):
2637         * Modules/indexeddb/IDBLevelDBCoding.cpp:
2638         (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
2639         (WebCore::IDBLevelDBCoding::KeyPrefix::encode):
2640         (WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
2641         (WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
2642         (WebCore::IDBLevelDBCoding::DataVersionKey::encode):
2643         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
2644         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
2645         (WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
2646         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
2647         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
2648         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
2649         (WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
2650         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
2651         (WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
2652         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
2653         (WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
2654         * Modules/indexeddb/IDBLevelDBCoding.h:
2655         (IDBLevelDBCoding):
2656         (KeyPrefix):
2657         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2658         (WebCore::IDBObjectStoreBackendImpl::IndexWriter::writeIndexKeys):
2659
2660 2013-03-11  Alec Flett  <alecflett@chromium.org>
2661
2662         IndexedDB: Protect against key prefix overflows
2663         https://bugs.webkit.org/show_bug.cgi?id=111138
2664
2665         Reviewed by Tony Chang.
2666
2667         This reworks the boundary checking for all databaseId,
2668         objectStoreId, and indexId, including negative and
2669         zero-based ids. All entrypoints into IDBLevelDBCoding
2670         are protected with explicit checks and all internal
2671         uses of KeyPrefix are protected with ASSERTs in the
2672         various constructors.
2673
2674         Tests: WebKit unit tests IDBBackingStoreTest.cpp in WebKit/chromium
2675
2676         * Modules/indexeddb/IDBBackingStore.h: Make all public methods boolean-based for errors.
2677         * Modules/indexeddb/IDBLevelDBCoding.h: Add methods for checking databaseId, objectStoreId, and indexId.
2678
2679 2013-03-11  Philip Rogers  <pdr@google.com>
2680
2681         Replace static_cast<SVGStyledElement> with toSVGStyledElement()
2682         https://bugs.webkit.org/show_bug.cgi?id=111651
2683
2684         Reviewed by Abhishek Arya.
2685
2686         toSVGStyledElement is preferred over static_cast<SVGStyledElement*> because bad casts
2687         can be caught on our testing infrastructure. This patch replaces all
2688         static_cast<SVGStyledElement> instances with toSVGStyledElement.
2689
2690         Additionally, this patch renames SVGElement::isStyled to SVGElement::isSVGStyledElement to
2691         remove a confusing overlap with html styled elements. This name differs slighly from the
2692         other is*() functions in SVGElement but this will be resolved up with webkit.org/b/107386.
2693
2694         No new tests as this is covered with existing tests.
2695
2696         * rendering/svg/RenderSVGModelObject.cpp:
2697         (WebCore::getElementCTM):
2698         * rendering/svg/RenderSVGResourceClipper.cpp:
2699         (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
2700         (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
2701         (WebCore::RenderSVGResourceClipper::hitTestClipContent):
2702         * rendering/svg/RenderSVGResourceMasker.cpp:
2703         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
2704         (WebCore::RenderSVGResourceMasker::calculateMaskContentRepaintRect):
2705         * rendering/svg/RenderSVGResourcePattern.cpp:
2706         (WebCore::RenderSVGResourcePattern::createTileImage):
2707         * rendering/svg/SVGRenderSupport.cpp:
2708         (WebCore::SVGRenderSupport::layoutChildren):
2709         * rendering/svg/SVGResources.cpp:
2710         (WebCore::registerPendingResource):
2711         * svg/SVGAnimationElement.cpp:
2712         (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
2713         (WebCore::SVGAnimationElement::computeCSSPropertyValue):
2714         (WebCore::SVGAnimationElement::adjustForInheritance):
2715         (WebCore::inheritsFromProperty):
2716         * svg/SVGElement.cpp:
2717         (WebCore::collectInstancesForSVGElement):
2718         (WebCore::SVGElement::isAnimatableAttribute):
2719         * svg/SVGElement.h:
2720         (WebCore::SVGElement::isSVGStyledElement):
2721         * svg/SVGElementInstance.cpp:
2722         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
2723         (WebCore::SVGElementInstance::InstanceUpdateBlocker::InstanceUpdateBlocker):
2724         * svg/SVGLocatable.cpp:
2725         (WebCore::SVGLocatable::computeCTM):
2726         * svg/SVGStyledElement.cpp:
2727         (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
2728         * svg/SVGStyledElement.h:
2729         (WebCore::SVGStyledElement::isSVGStyledElement):
2730         * svg/SVGUseElement.cpp:
2731         (WebCore::SVGUseElement::selfHasRelativeLengths):
2732         * svg/graphics/filters/SVGFEImage.cpp:
2733         (WebCore::FEImage::platformApplySoftware):
2734
2735 2013-03-11  Tim Horton  <timothy_horton@apple.com>
2736
2737         PDFPlugin: Make scrolling between pages in non-continuous modes work
2738         https://bugs.webkit.org/show_bug.cgi?id=111415
2739         <rdar://problem/12555320>
2740
2741         Reviewed by Alexey Proskuryakov.
2742
2743         * WebCore.exp.in: Export ScrollableArea::scrollToOffsetWithoutAnimation.
2744
2745 2013-03-11  Mark Lam  <mark.lam@apple.com>
2746
2747         Remove the use of the quotaMap cache in DatabaseTracker.
2748         https://bugs.webkit.org/show_bug.cgi?id=111805.
2749
2750         Reviewed by Geoffrey Garen.
2751
2752         This change is needed because using the quotaMap cache can result in
2753         an inaccurate read (in a multi-process system) on what database files
2754         are actually present on the filesystem. Instead of using the quotaMap
2755         cache, we rely on the tracker database and query it every time we need
2756         the origin/quota information.
2757
2758         No new tests.
2759
2760         * Modules/webdatabase/DatabaseTracker.cpp:
2761         (WebCore::DatabaseTracker::hasAdequateQuotaForOrigin):
2762         (WebCore::DatabaseTracker::hasEntryForOriginNoLock):
2763         (WebCore::DatabaseTracker::origins):
2764         (WebCore::DatabaseTracker::quotaForOriginNoLock):
2765         (WebCore::DatabaseTracker::setQuota):
2766         (WebCore::DatabaseTracker::addDatabase):
2767         (WebCore::DatabaseTracker::deleteOrigin):
2768         * Modules/webdatabase/DatabaseTracker.h:
2769
2770 2013-03-11  Morten Stenshorne  <mstensho@opera.com>
2771
2772         Don't rely on the fact that StaticPosition happens to be defined as 0
2773         https://bugs.webkit.org/show_bug.cgi?id=110123
2774
2775         Also made the expression slightly less convoluted.
2776
2777         Reviewed by Alexey Proskuryakov.
2778
2779         No new tests. This is just code cleanup.
2780
2781         * rendering/RenderObject.cpp:
2782         (WebCore::RenderObject::containingBlock):
2783
2784 2013-03-11  Adam Barth  <abarth@webkit.org>
2785
2786         Unreviewed attempt to fix build after http://trac.webkit.org/changeset/145421.
2787
2788         * html/HTMLPlugInImageElement.cpp:
2789
2790 2013-03-05  Ojan Vafai  <ojan@chromium.org>
2791
2792         Intrinsic width keyword values don't work for tables
2793         https://bugs.webkit.org/show_bug.cgi?id=111515
2794
2795         Reviewed by Julien Chaffraix.
2796
2797         Tests: fast/css-intrinsic-dimensions/css-tables.html
2798                fast/css-intrinsic-dimensions/tables.html
2799
2800         * rendering/RenderBox.cpp:
2801         (WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
2802         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
2803         (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
2804         (WebCore::RenderBox::computePositionedLogicalWidthUsing):
2805         * rendering/RenderBox.h:
2806         Pass in the border and padding as an argument since RenderTable needs
2807         to pass in a different value. Unfortunately, the math doesn't work out right
2808         in the positioned/replaced cases if we just pass 0. We need to pass in the correct
2809         border and padding and then subtract it from the result.
2810
2811         * rendering/RenderTable.cpp:
2812         (WebCore::RenderTable::updateLogicalWidth):
2813         Compute intrinsic widths as well as specified ones. Down the road
2814         we may want to consider having intrinsic width values return true for
2815         isSpecified.
2816
2817         (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
2818         Compute intrinsic widths as well.
2819
2820         (WebCore::RenderTable::computeIntrinsicLogicalWidths):
2821         Implement this method so that the RenderBox::computeIntrinsicLogicalWidthUsing
2822         gets the right intrinsic values instead of the preferred values.
2823
2824         (WebCore::RenderTable::computePreferredLogicalWidths):
2825         * rendering/RenderTable.h:
2826
2827 2013-03-11  Stephen Chenney  <schenney@chromium.org>
2828
2829         HTMLInputElement can delete an ImageLoader while it's still needed
2830         https://bugs.webkit.org/show_bug.cgi?id=110621
2831
2832         Reviewed by Darin Adler.
2833
2834         ImageLoader objects may fire events for HTMLInputElements that are of
2835         type ImageInputType that own the loader. These events may cause script
2836         to run that changes the type of the input element and hence causes the
2837         ImageLoader to be deleted, while the image loader is still processing
2838         the event dispatch. Bad things ensue.
2839
2840         This change moves ownership of the ImageLoader from the ImageInputType
2841         onto the HTMLImageElement which is already protected from deletion during
2842         event processing.
2843
2844         Test: fast/forms/image/image-error-event-modifies-type-crash.html
2845
2846         * html/HTMLInputElement.cpp:
2847         (WebCore::HTMLInputElement::imageLoader): Method to return the
2848           ImageLoader, creating it if not already created.
2849         * html/HTMLInputElement.h:
2850         (WebCore::HTMLInputElement::hasImageLoader): Return true if the
2851           ImageLoader has been created.
2852         (HTMLInputElement): Define ImageLoader access methods and the OwnPtr
2853           for the HTMLImageLoader.
2854         * html/ImageInputType.cpp:
2855         (WebCore::ImageInputType::srcAttributeChanged): Use the element's ImageLoader.
2856         (WebCore::ImageInputType::attach): Use the element's ImageLoader.
2857         (WebCore::ImageInputType::willMoveToNewOwnerDocument): Use the element's ImageLoader.
2858         (WebCore::ImageInputType::height): Use the element's ImageLoader.
2859         (WebCore::ImageInputType::width): Use the element's ImageLoader.
2860         * html/ImageInputType.h:
2861         (ImageInputType): Remove the declaration of the ImageLoader.
2862
2863 2013-03-11  Alok Priyadarshi  <alokp@chromium.org>
2864
2865         Revert "Mark GraphicsLayers as opaque when possible"
2866
2867         This reverts commit 0a4d3c2d8a0373aa9e5bd9209885137a13a7f0e0.
2868
2869         REGRESSION (r143626): http://chainlove.com shows garbage tiles on Mac
2870         https://bugs.webkit.org/show_bug.cgi?id=112043
2871
2872         Unreviewed, rolling out r143626.
2873
2874         * rendering/RenderBox.cpp:
2875         * rendering/RenderBox.h:
2876         (RenderBox):
2877         * rendering/RenderBoxModelObject.h:
2878         (RenderBoxModelObject):
2879         * rendering/RenderLayer.cpp:
2880         * rendering/RenderLayer.h:
2881         (RenderLayer):
2882         * rendering/RenderLayerBacking.cpp:
2883         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2884         * rendering/RenderLayerModelObject.h:
2885         (RenderLayerModelObject):
2886
2887 2013-03-11  Dean Jackson  <dino@apple.com>
2888
2889         Plugins created during user gestures (or soon after) should not be snapshotted
2890         https://bugs.webkit.org/show_bug.cgi?id=111975
2891
2892         Reviewed by Tim Horton.
2893
2894         There are sites which create plugins in response to user actions, such as clicking
2895         on an image that is acting like a poster frame. In those cases we should never snapshot.
2896
2897         There are some other sites which also create plugins in response to user actions,
2898         but don't necessarily create the content themselves. Instead they run some script
2899         that injects an iframe, and the frame loads a plugin. In order to make sure we don't
2900         snapshot in those cases, we're adding the concept of a blessed plugin. Anything that
2901         is created soon after a *handled* user gesture is not snapshotted. To do this we
2902         mark a timestamp in the document when we've called an event listener for a user
2903         gesture. The plugin element then compares its creation time with the most recent
2904         user action time.
2905
2906         * dom/Document.cpp:
2907         (WebCore::Document::Document): Initialise new timestamp.
2908         (WebCore::Document::resetLastHandledUserGestureTimestamp): Sets the member variable
2909             to the current time.
2910         * dom/Document.h:
2911         (WebCore::Document::lastHandledUserGestureTimestamp): Getter.
2912
2913         * dom/EventTarget.cpp:
2914         (WebCore::EventTarget::fireEventListeners): If there were some event listeners and
2915             we were processing a user gesture, then reset the timestamp in the document.
2916
2917         * html/HTMLPlugInImageElement.cpp:
2918         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Remember if we were created
2919             during a user gesture.
2920         (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Start the plugin
2921             if we were created during a user gesture, or if we are close enough in time
2922             to a listener that fired in relation to a user gesture.
2923         * html/HTMLPlugInImageElement.h: New private member flag indicating if we were
2924             in a user gesture when constructed.
2925
2926 2013-03-11  Jeffrey Pfau  <jpfau@apple.com>
2927
2928         List cache partitions as units instead of as their contents
2929         https://bugs.webkit.org/show_bug.cgi?id=111909
2930
2931         Reviewed by Maciej Stachowiak.
2932
2933         Not possible to test with current automated test tools, must be tested manually.
2934
2935         * loader/cache/MemoryCache.cpp:
2936         (WebCore::MemoryCache::getOriginsWithCache): List a cache item as a member of a partition, if possible
2937
2938 2013-03-11  Alexey Proskuryakov  <ap@apple.com>
2939
2940         Chromium build fix. Forked files strike again.
2941
2942         * platform/network/chromium/ResourceHandle.cpp:
2943         (WebCore::ResourceHandle::firstRequest):
2944
2945 2013-03-11  James Robinson  <jamesr@chromium.org>
2946
2947         Fix typo from r145399. Rubber stamped by Abhishek Arya.
2948
2949         * rendering/svg/RenderSVGViewportContainer.h:
2950         (WebCore::toRenderSVGViewportContainer):
2951
2952 2013-03-11  Hans Muller  <hmuller@adobe.com>
2953
2954         [CSS Exclusions] Refactor the ExclusionPolygon class to enable storing multiple boundaries
2955         https://bugs.webkit.org/show_bug.cgi?id=111766
2956
2957         Reviewed by Dirk Schulze.
2958
2959         Refactored the ExclusionPolygon class to enable adding support for shape-margin and shape-padding.
2960         Extracted a new FloatPolygon class which is now used by ExclusionPolygon to represent the shape's
2961         boundary. It will be used to add m_paddedPolygon and m_marginPolygon members to ExclusionPolygon
2962         in a subsequent patch.
2963
2964         No new tests. This is strictly a refactoring of the existing code.
2965
2966         * CMakeLists.txt:
2967         * GNUmakefile.list.am:
2968         * WebCore.gypi:
2969         * WebCore.vcproj/WebCore.vcproj:
2970         * WebCore.xcodeproj/project.pbxproj:
2971         * platform/graphics/FloatPolygon.cpp: Factored out of Source/WebCore/rendering/ExclusionPolygon.cpp.
2972         (WebCore::determinant):
2973         (WebCore::areCollinearPoints):
2974         (WebCore::areCoincidentPoints):
2975         (WebCore::isPointOnLineSegment):
2976         (WebCore::nextVertexIndex):
2977         (WebCore::FloatPolygon::FloatPolygon):
2978         (WebCore::FloatPolygon::findNextEdgeVertexIndex):
2979         (WebCore::FloatPolygon::overlappingEdges):
2980         (WebCore::leftSide):
2981         (WebCore::FloatPolygon::contains):
2982         (WebCore::VertexPair::overlapsRect):
2983         (WebCore::VertexPair::intersection):
2984         * platform/graphics/FloatPolygon.h: Factored out of Source/WebCore/rendering/ExclusionPolygon.h.
2985         (FloatPolygon):
2986         (WebCore::FloatPolygon::vertexAt):
2987         (WebCore::FloatPolygon::numberOfVertices):
2988         (WebCore::FloatPolygon::fillRule):
2989         (WebCore::FloatPolygon::edgeAt):
2990         (WebCore::FloatPolygon::numberOfEdges):
2991         (WebCore::FloatPolygon::boundingBox):
2992         (WebCore::FloatPolygon::isEmpty):
2993         (VertexPair):
2994         (WebCore::VertexPair::~VertexPair):
2995         (WebCore::VertexPair::minX):
2996         (WebCore::VertexPair::minY):
2997         (WebCore::VertexPair::maxX):
2998         (WebCore::VertexPair::maxY):
2999         (FloatPolygonEdge):
3000         (WebCore::FloatPolygonEdge::previousEdge):
3001         (WebCore::FloatPolygonEdge::nextEdge):
3002         (WebCore::FloatPolygonEdge::polygon):
3003         (WebCore::FloatPolygonEdge::vertexIndex1):
3004         (WebCore::FloatPolygonEdge::vertexIndex2):
3005         (WebCore::FloatPolygonEdge::edgeIndex):
3006         * rendering/ExclusionPolygon.cpp: Now depends on FloatPolygon.
3007         (EdgeIntersection):
3008         (WebCore::leftSide):
3009         (WebCore::computeXIntersection):
3010         (WebCore::getVertexIntersectionVertices):
3011         (WebCore::computeXIntersections):
3012         (WebCore::computeOverlappingEdgeXProjections):
3013         (WebCore::ExclusionPolygon::getExcludedIntervals):
3014         (WebCore::ExclusionPolygon::getIncludedIntervals):
3015         (WebCore::firstFitRectInPolygon):
3016         (WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop):
3017         * rendering/ExclusionPolygon.h: Now depends on FloatPolygon.
3018         (WebCore::OffsetPolygonEdge::OffsetPolygonEdge):
3019         (ExclusionPolygon):
3020         (WebCore::ExclusionPolygon::ExclusionPolygon):
3021
3022 2013-03-11  Alexey Proskuryakov  <ap@apple.com>
3023
3024         Roll out part of r144671.
3025
3026         ResourceHandle::firstRequest() should not be const(), because it returns a
3027         non-const reference.        
3028
3029         * platform/network/ResourceHandle.cpp:
3030         (WebCore::ResourceHandle::firstRequest):
3031         * platform/network/ResourceHandle.h:
3032
3033 2013-01-30  Jer Noble  <jer.noble@apple.com>
3034
3035         Mac: Cmd-w should close full screen window.
3036         https://bugs.webkit.org/show_bug.cgi?id=108406
3037
3038         Reviewed by Darin Adler.
3039
3040         Pass performClose: requests on to the owning window controller.
3041
3042         * platform/mac/WebCoreFullScreenWindow.mm:
3043         (-[WebCoreFullScreenWindow performClose:]):
3044
3045 2013-03-11  Xiyuan Xia  <xiyuan@chromium.org>
3046
3047         [Chromium] chromium/linux breaks expectation of select popup background due to bad UA css rules
3048         https://bugs.webkit.org/show_bug.cgi?id=111873
3049
3050         Reviewed by Tony Chang.
3051
3052         On linux the default <select> background color is too dark to use as the
3053         popup background color.  Last fixes:
3054         https://bugs.webkit.org/show_bug.cgi?id=54115 and
3055         https://bugs.webkit.org/show_bug.cgi?id=56023
3056         attempt to fix the problem by applying a lighter background using
3057         special <option> selector. This breaks expectations of some websites.
3058
3059         This CL reverts the bad UA css rules above and provides the lighter
3060         background color if <select> and <option> elements are using the default
3061         background.
3062
3063         No new tests, this tests <select> popups and can be verified by ManualTests/select-scroll.html.
3064
3065         * css/themeChromiumLinux.css:
3066         (select):
3067         * platform/PopupMenuStyle.h:
3068         (WebCore::PopupMenuStyle::PopupMenuStyle):
3069         (WebCore::PopupMenuStyle::backgroundColorType):
3070         (PopupMenuStyle):
3071         * platform/chromium/PopupListBox.cpp:
3072         (WebCore::PopupListBox::paintRow):
3073         * rendering/RenderMenuList.cpp:
3074         (WebCore::RenderMenuList::itemStyle):
3075         (WebCore::RenderMenuList::getItemBackgroundColor):
3076         * rendering/RenderMenuList.h:
3077         (RenderMenuList):
3078         * rendering/RenderSearchField.cpp:
3079         (WebCore::RenderSearchField::menuStyle):
3080         * rendering/RenderThemeChromiumDefault.cpp:
3081         (WebCore::RenderThemeChromiumDefault::systemColor):
3082
3083 2013-03-11  James Robinson  <jamesr@chromium.org>
3084
3085         Compile fix. Rubber-stamp by Eric Seidel.
3086
3087         * html/shadow/MediaControlElements.cpp:
3088         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
3089
3090 2013-03-11  Dima Gorbik  <dgorbik@apple.com>
3091
3092         Fix build for r145397 (part 2)
3093
3094         Unreviewed.
3095
3096         * html/track/TextTrackCue.cpp:
3097         (WebCore::TextTrackCue::getDisplayTree):
3098
3099 2013-03-11  Dima Gorbik  <dgorbik@apple.com>
3100
3101         Fix build for r145397
3102
3103         Unreviewed.
3104
3105         * html/shadow/MediaControls.cpp:
3106         (WebCore::MediaControls::createTextTrackDisplay):
3107         * html/shadow/MediaControlsChromium.cpp:
3108         (WebCore::MediaControlsChromium::createTextTrackDisplay):
3109         * html/shadow/MediaControlsGtk.cpp:
3110         (WebCore::MediaControlsGtk::createTextTrackDisplay):
3111
3112 2013-03-11  Abhishek Arya  <inferno@chromium.org>
3113
3114         Add ASSERT_WITH_SECURITY_IMPLICATION to catch bad casts.
3115         https://bugs.webkit.org/show_bug.cgi?id=112060
3116
3117         Reviewed by Eric Seidel.
3118
3119         * Modules/geolocation/Geolocation.cpp:
3120         (WebCore::Geolocation::document):
3121         * accessibility/AccessibilityMenuList.h:
3122         (WebCore::toAccessibilityMenuList):
3123         * accessibility/AccessibilityNodeObject.h:
3124         (WebCore::toAccessibilityNodeObject):
3125         * accessibility/AccessibilityRenderObject.h:
3126         (WebCore::toAccessibilityRenderObject):
3127         * accessibility/AccessibilitySVGRoot.h:
3128         (WebCore::toAccessibilitySVGRoot):
3129         * accessibility/AccessibilitySpinButton.h:
3130         (WebCore::toAccessibilitySpinButton):
3131         (WebCore::toAccessibilitySpinButtonPart):
3132         * accessibility/AccessibilityTable.h:
3133         (WebCore::toAccessibilityTable):
3134         * css/StyleRule.h:
3135         (WebCore::toStyleRuleMedia):
3136         (WebCore::toStyleRuleSupports):
3137         (WebCore::toStyleRuleRegion):
3138         * dom/EventContext.h:
3139         (WebCore::toTouchEventContext):
3140         * fileapi/File.h:
3141         (WebCore::toFile):
3142         * html/HTMLElement.cpp:
3143         (WebCore::HTMLElement::insertAdjacentElement):
3144         (WebCore::contextElementForInsertion):
3145         * html/HTMLMediaElement.h:
3146         (WebCore::toMediaElement):
3147         * html/HTMLMeterElement.h:
3148         (WebCore::toHTMLMeterElement):
3149         * html/HTMLOptionElement.cpp:
3150         (WebCore::toHTMLOptionElement):
3151         * html/HTMLProgressElement.cpp:
3152         (WebCore::HTMLProgressElement::renderProgress):
3153         * html/HTMLProgressElement.h:
3154         (WebCore::toHTMLProgressElement):
3155         * html/HTMLSelectElement.h:
3156         (WebCore::toHTMLSelectElement):
3157         * html/HTMLTableCellElement.cpp:
3158         (WebCore::toHTMLTableCellElement):
3159         * html/HTMLTextFormControlElement.h:
3160         (WebCore::toHTMLTextFormControlElement):
3161         * html/PluginDocument.h:
3162         (WebCore::toPluginDocument):
3163         * html/shadow/DetailsMarkerControl.cpp:
3164         (WebCore::DetailsMarkerControl::summaryElement):
3165         * html/shadow/HTMLContentElement.h:
3166         (WebCore::toHTMLContentElement):
3167         * html/shadow/HTMLShadowElement.h:
3168         (WebCore::toHTMLShadowElement):
3169         * html/shadow/TextFieldDecorationElement.cpp:
3170         (WebCore::TextFieldDecorationElement::hostInput):
3171         * page/DOMWindow.cpp:
3172         (WebCore::DOMWindow::document):
3173         * rendering/InlineTextBox.h:
3174         (WebCore::toInlineTextBox):
3175         * rendering/RenderHTMLCanvas.h:
3176         (WebCore::toRenderHTMLCanvas):
3177         * rendering/RenderScrollbar.h:
3178         (WebCore::toRenderScrollbar):
3179         * rendering/RenderTextFragment.h:
3180         (WebCore::toRenderTextFragment):
3181         * rendering/mathml/RenderMathMLOperator.h:
3182         (WebCore::toRenderMathMLOperator):
3183         * rendering/svg/RenderSVGTextPath.h:
3184         (WebCore::toRenderSVGTextPath):
3185         * rendering/svg/RenderSVGViewportContainer.h:
3186         (WebCore::toRenderSVGViewportContainer):
3187         * svg/graphics/SVGImageChromeClient.h:
3188         (WebCore::toSVGImageChromeClient):
3189
3190 2013-03-11  Adam Barth  <abarth@webkit.org>
3191
3192         Factor HTMLTreeBuilderSimulator out of BackgroundHTMLParser
3193         https://bugs.webkit.org/show_bug.cgi?id=112057
3194
3195         Reviewed by Eric Seidel.
3196
3197         Simulating the HTML tree builder is a separate concern from parsing on
3198         the background thread. We plan to re-use the tree builder simulator for
3199         the view-source parser, for example. Also, having the simulator as a
3200         separate object will make it easier to fix
3201         https://bugs.webkit.org/show_bug.cgi?id=109764.
3202
3203         * CMakeLists.txt:
3204         * GNUmakefile.list.am:
3205         * Target.pri:
3206         * WebCore.gypi:
3207         * WebCore.vcproj/WebCore.vcproj:
3208         * html/parser/BackgroundHTMLParser.cpp:
3209         (WebCore):
3210         (WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
3211         (WebCore::BackgroundHTMLParser::pumpTokenizer):
3212         * html/parser/BackgroundHTMLParser.h:
3213         (BackgroundHTMLParser):
3214
3215 2013-02-26  Dima Gorbik  <dgorbik@apple.com>
3216
3217         Not all properties apply to the '::cue' pseudo-element
3218         https://bugs.webkit.org/show_bug.cgi?id=110705
3219
3220         Reviewed by Eric Carlson.
3221
3222         Background properties are not inherited and they were not applied to right elements.
3223         Now we apply all ::cue properties to WebVTT cue background box, which -webkit-media-text-track-all-nodes
3224         container was corresponding to. Now it has 'cue' pseudoId instead of '-webkit-media-text-track-all-nodes'.
3225         Property filtering is turned off for user agent rules so that we are still able to apply filtered rules
3226         to this container internally. m_cueContainer is removed because it is no longer needed.
3227         m_allDocumentNodes container was renamed to m_cueBackgroundBox.
3228
3229         Existing tests modified to cover this case.
3230
3231         * css/RuleSet.h:
3232         (WebCore::RuleData::propertyWhitelistType): disable filtering for UA rules.
3233         * css/StyleResolver.cpp:
3234         (WebCore::StyleResolver::sortAndTransferMatchedRules): pass the UA scope to propertyWhitelistType().
3235         * css/mediaControls.css: rename -webkit-media-text-track-all-nodes to 'cue'
3236         (video::cue): 
3237         * html/shadow/MediaControlElements.cpp:
3238         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
3239         * html/shadow/MediaControlElements.h:
3240         (MediaControlTextTrackContainerElement):
3241         * html/shadow/MediaControls.cpp:
3242         (WebCore::MediaControls::createTextTrackDisplay):
3243         * html/shadow/MediaControlsChromium.cpp:
3244         (WebCore::MediaControlsChromium::createTextTrackDisplay):
3245         * html/shadow/MediaControlsGtk.cpp:
3246         (WebCore::MediaControlsGtk::createTextTrackDisplay):
3247         * html/track/TextTrackCue.cpp:
3248         (WebCore::TextTrackCue::TextTrackCue):
3249         (WebCore::TextTrackCue::updateDisplayTree):
3250         (WebCore::TextTrackCue::getDisplayTree):
3251         * html/track/TextTrackCue.h:
3252         (WebCore::TextTrackCue::element):
3253         * page/CaptionUserPreferencesMac.mm:
3254         (WebCore::CaptionUserPreferencesMac::captionsStyleSheetOverride):
3255
3256 2013-03-11  Tim Horton  <timothy_horton@apple.com>
3257
3258         ChromeClient.h doesn’t need to include RenderSnapshottedPlugIn
3259         https://bugs.webkit.org/show_bug.cgi?id=111981
3260
3261         Reviewed by Kentaro Hara.
3262
3263         * page/ChromeClient.h: Remove the extraneous #include.
3264
3265 2013-03-11  David Hyatt  <hyatt@apple.com>
3266
3267         Vertical writing doesn't work with form controls.
3268         https://bugs.webkit.org/show_bug.cgi?id=70211
3269
3270         Reviewed by Simon Fraser.
3271
3272         This is just some basic plumbing work to make textfields and
3273         textareas work with vertical writing modes. This patch leaves the
3274         html.css override alone, so authors can't enable vertical
3275         writing yet.
3276         
3277         The changes consist of converting uses of x/y/width/height to
3278         logicalLeft/Top/Width/Height.
3279       
3280         * rendering/RenderBoxModelObject.h:
3281         (WebCore::RenderBoxModelObject::paddingLogicalLeft):
3282         (WebCore::RenderBoxModelObject::paddingLogicalRight):
3283         (RenderBoxModelObject):
3284         (WebCore::RenderBoxModelObject::marginLogicalHeight):
3285         (WebCore::RenderBoxModelObject::marginLogicalWidth):
3286         * rendering/RenderSearchField.cpp:
3287         (WebCore::RenderSearchField::computeControlLogicalHeight):
3288         (WebCore::RenderSearchField::computeLogicalHeightLimit):
3289         (WebCore::RenderSearchField::centerContainerIfNeeded):
3290         * rendering/RenderSearchField.h:
3291         (RenderSearchField):
3292         * rendering/RenderTextControl.cpp:
3293         (WebCore::RenderTextControl::textBlockLogicalHeight):
3294         (WebCore::RenderTextControl::textBlockLogicalWidth):
3295         (WebCore::RenderTextControl::computeLogicalHeight):
3296         (WebCore::RenderTextControl::computeIntrinsicLogicalWidths):
3297         (WebCore::RenderTextControl::computePreferredLogicalWidths):
3298         * rendering/RenderTextControl.h:
3299         (RenderTextControl):
3300         * rendering/RenderTextControlMultiLine.cpp:
3301         (WebCore::RenderTextControlMultiLine::preferredContentLogicalWidth):
3302         (WebCore::RenderTextControlMultiLine::computeControlLogicalHeight):
3303         (WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild):
3304         * rendering/RenderTextControlMultiLine.h:
3305         (RenderTextControlMultiLine):
3306         * rendering/RenderTextControlSingleLine.cpp:
3307         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
3308         (WebCore::RenderTextControlSingleLine::paint):
3309         (WebCore::RenderTextControlSingleLine::computeLogicalHeightLimit):
3310         (WebCore::RenderTextControlSingleLine::layout):
3311         (WebCore::RenderTextControlSingleLine::styleDidChange):
3312         (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):
3313         (WebCore::RenderTextControlSingleLine::computeControlLogicalHeight):
3314         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
3315         * rendering/RenderTextControlSingleLine.h:
3316         (RenderTextControlSingleLine):
3317         * rendering/style/RenderStyle.h:
3318
3319 2013-03-11  Tim Horton  <timothy_horton@apple.com>
3320
3321         TiledBacking scrolling coverage can be unfairly limited for clients who do scrolling outside the web view
3322         https://bugs.webkit.org/show_bug.cgi?id=111958
3323         <rdar://problem/13356896>
3324
3325         Reviewed by Darin Adler.
3326
3327         Don't limit TiledBacking coverage if the client has opted into using
3328         its exposed rect to allow scrolling above the web view.
3329
3330         * platform/graphics/TiledBacking.h:
3331         * platform/graphics/ca/mac/TileController.h:
3332         * rendering/RenderLayerBacking.cpp:
3333         (WebCore::RenderLayerBacking::adjustTiledBackingCoverage):
3334
3335 2013-03-11  Rajeev Sarvaria  <rsarvaria@blackberry.com>
3336
3337         GetnUniform*vEXT (Robustness extension) passed incorrect parameter in WebGLRenderingContext
3338         https://bugs.webkit.org/show_bug.cgi?id=111450
3339
3340         Reviewed by Rob Buis.
3341
3342         Bufsize argument corrected to size in bytes instead of number of integers or floats.
3343
3344         * html/canvas/WebGLRenderingContext.cpp:
3345         (WebCore):
3346         (WebCore::WebGLRenderingContext::getUniform):
3347
3348 2013-03-11  Sheriff Bot  <webkit.review.bot@gmail.com>
3349
3350         Unreviewed, rolling out r145375.
3351         http://trac.webkit.org/changeset/145375
3352         https://bugs.webkit.org/show_bug.cgi?id=112050
3353
3354         Does not compile (Requested by jamesr on #webkit).
3355
3356         * Modules/indexeddb/IDBBackingStore.cpp:
3357         (WebCore::IDBBackingStore::getObjectStores):
3358         (WebCore::IDBBackingStore::createObjectStore):
3359         (WebCore::IDBBackingStore::deleteObjectStore):
3360         (WebCore::IDBBackingStore::getRecord):
3361         (WebCore::IDBBackingStore::putRecord):
3362         (WebCore::IDBBackingStore::clearObjectStore):
3363         (WebCore::IDBBackingStore::deleteRecord):
3364         (WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
3365         (WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
3366         (WebCore::IDBBackingStore::keyExistsInObjectStore):
3367         (WebCore::IDBBackingStore::getIndexes):
3368         (WebCore::IDBBackingStore::createIndex):
3369         (WebCore::IDBBackingStore::deleteIndex):
3370         (WebCore::IDBBackingStore::putIndexDataForRecord):
3371         (WebCore::IDBBackingStore::findKeyInIndex):
3372         (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
3373         (WebCore::IDBBackingStore::keyExistsInIndex):
3374         (WebCore::indexCursorOptions):
3375         * Modules/indexeddb/IDBBackingStore.h:
3376         (IDBBackingStore):
3377         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
3378         (WebCore::DeleteIndexOperation::create):
3379         (WebCore::DeleteIndexOperation::DeleteIndexOperation):
3380         (DeleteIndexOperation):
3381         (WebCore::IDBDatabaseBackendImpl::openInternal):
3382         (WebCore::IDBDatabaseBackendImpl::deleteIndex):
3383         (WebCore::DeleteIndexOperation::perform):
3384         (WebCore::DeleteRangeOperation::perform):
3385         (WebCore::ClearOperation::perform):
3386         * Modules/indexeddb/IDBLevelDBCoding.cpp:
3387         (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
3388         (WebCore::IDBLevelDBCoding::KeyPrefix::encode):
3389         (WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
3390         (WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
3391         (WebCore::IDBLevelDBCoding::DataVersionKey::encode):
3392         (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
3393         (WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
3394         (WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
3395         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
3396         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
3397         (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
3398         (WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
3399         (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
3400         (WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
3401         (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
3402         (WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
3403         * Modules/indexeddb/IDBLevelDBCoding.h:
3404         (IDBLevelDBCoding):
3405         (KeyPrefix):
3406         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3407         (WebCore::IDBObjectStoreBackendImpl::IndexWriter::writeIndexKeys):
3408
3409 2013-03-11  Adam Klein  <adamk@chromium.org>
3410
3411         MutationCallback should be a WebIDL 'callback', not a [Callback] interface
3412         https://bugs.webkit.org/show_bug.cgi?id=91406
3413
3414         Reviewed by Adam Barth.
3415
3416         Spec: http://dom.spec.whatwg.org/#mutationcallback
3417
3418         Besides no longer calling handleEvent methods on passed-in objects,
3419         throw a TypeError if a non-function is passed to the MutationObserver constructor.
3420         This is per WebIDL: http://www.w3.org/TR/WebIDL/#es-callback-function
3421
3422         Updated MutationObserver constructor tests to exercise TypeError-throwing behavior.
3423
3424         * bindings/js/JSMutationCallback.cpp:
3425         (WebCore::JSMutationCallback::call): Call the callback directly instead of handing off to JSCallbackData; make return value void.
3426         Use jsArray() to convert from WTF::Vector -> JSArray.
3427         * bindings/js/JSMutationCallback.h:
3428         (JSMutationCallback): Rename handleEvent() to call(), make it void.
3429         * bindings/js/JSMutationObserverCustom.cpp:
3430         (WebCore::JSMutationObserverConstructor::constructJSMutationObserver): Throw if passed a non-function.
3431         * bindings/v8/V8MutationCallback.cpp:
3432         (WebCore::V8MutationCallback::V8MutationCallback): Take a v8::Function instead of a v8::Object.
3433         (WebCore::V8MutationCallback::call): Call the callback directly instead of handing off to invokeCallback(); make return value void.
3434         Use v8Array() to convert form WTF::Vector -> JSArray.
3435         * bindings/v8/V8MutationCallback.h:
3436         (WebCore::V8MutationCallback::create): Take a v8::Function instead of a v8::Object.
3437         (V8MutationCallback): ditto
3438         * bindings/v8/custom/V8MutationObserverCustom.cpp:
3439         (WebCore::V8MutationObserver::constructorCustom): Throw if passed a non-function, cast to a v8::Function when constructing callback.
3440         * dom/MutationCallback.h:
3441         (WebCore): Remove unnecessary typedef.
3442         (MutationCallback): Rename handleEvent() to call(), make it void.
3443         * dom/MutationObserver.cpp:
3444         (WebCore::MutationObserver::deliver): Update MutationCallback method name.
3445
3446 2013-03-11  Julien Chaffraix  <jchaffraix@webkit.org>
3447
3448         [CSS Grid Layout] Handle spanning grid items over specified grid tracks
3449         https://bugs.webkit.org/show_bug.cgi?id=111918
3450
3451         Reviewed by Tony Chang.
3452
3453         This change updates the containing block override logic to handle multiple
3454         spanned tracks. This makes the multiple specified grid tracks case work and
3455         will enable us to handle the minmax case once the computation logic has been
3456         updated.
3457
3458         Test: fast/css-grid-layout/grid-item-spanning-resolution.html
3459
3460         * rendering/RenderGrid.cpp:
3461         (WebCore::RenderGrid::logicalContentHeightForChild):
3462         (WebCore::RenderGrid::layoutGridItems):
3463         Updated these functions to use gridAreaBreadthForChild.
3464
3465         (WebCore::RenderGrid::gridAreaBreadthForChild):
3466         Added this helper function to handle multiple spanned grid tracks.
3467
3468         * rendering/RenderGrid.h: Added the previous function.
3469
3470 2013-03-11  Philip Rogers  <pdr@google.com>
3471
3472         Replace SVG's static_cast<SVGElement> with toSVGElement()
3473         https://bugs.webkit.org/show_bug.cgi?id=111651