A shadow element in ShadowDOM of a button element does not work.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-08-21  Shinya Kawanaka  <shinyak@chromium.org>
2
3         A shadow element in ShadowDOM of a button element does not work.
4         https://bugs.webkit.org/show_bug.cgi?id=91486
5
6         Reviewed by Dimitri Glazkov.
7
8         Since a button element is extended from an HTMLFormControlElement, it creates a UserAgentShadowDOM
9         just before adding an AuthorShadowDOM. However, actually a button element does not need any UserAgentShadowDOM.
10         So we have to prevent it from creating UserAgentShadowDOM.
11
12         Test: fast/dom/shadow/shadowdom-for-button.html
13
14         * html/HTMLButtonElement.cpp:
15         (WebCore::HTMLButtonElement::willAddAuthorShadowRoot):
16         (WebCore):
17         * html/HTMLButtonElement.h:
18
19 2012-08-21  Sukolsak Sakshuwong  <sukolsak@google.com>
20
21         Remove UndoManager's undoscope content attribute
22         https://bugs.webkit.org/show_bug.cgi?id=94637
23
24         Reviewed by Ryosuke Niwa.
25
26         No new tests. Covered by existing tests.
27
28         * bindings/v8/DOMTransaction.cpp:
29         (WebCore::DOMTransaction::callFunction):
30         * dom/Document.cpp:
31         (WebCore::Document::undoManager):
32         * dom/Element.cpp:
33         (WebCore::Element::~Element):
34         (WebCore):
35         * dom/Element.h:
36         (Element):
37         * dom/Element.idl:
38         * dom/ElementRareData.h:
39         (ElementRareData):
40         * editing/UndoManager.cpp:
41         (WebCore::UndoManager::create):
42         (WebCore::UndoManager::UndoManager):
43         (WebCore::UndoManager::disconnect):
44         (WebCore::UndoManager::transact):
45         (WebCore::UndoManager::undo):
46         (WebCore::UndoManager::redo):
47         (WebCore::UndoManager::clearUndo):
48         (WebCore::UndoManager::clearRedo):
49         (WebCore):
50         * editing/UndoManager.h:
51         (WebCore):
52         (UndoManager):
53         (WebCore::UndoManager::document):
54         (WebCore::UndoManager::ownerNode):
55         * html/HTMLAttributeNames.in:
56         * html/HTMLElement.cpp:
57         (WebCore::HTMLElement::parseAttribute):
58         (WebCore::HTMLElement::setContentEditable):
59
60 2012-08-21  Joanmarie Diggs  <jdiggs@igalia.com>
61
62         [Gtk] No accessible caret-moved events found in certain content
63         https://bugs.webkit.org/show_bug.cgi?id=72811
64
65         Reviewed by Chris Fleizach.
66
67         Part of the bug is due to objects which should claim to implement AtkText
68         failed to do so as a result of containing a mixture of inline and block
69         spans.
70
71         An updated unit test was provided.
72
73         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
74         (roleIsTextType): New method to check if a role is one expected to have
75         implemented the AtkText interface. Currently that is defined as:
76          - ParagraphRole
77          - HeadingRole
78          - DivRole
79          - CellRole
80         (getInterfaceMaskFromObject): If a role is one of the text type roles,
81         automatically add WAI_TEXT to the accessible object's interface mask.
82
83 2012-08-21  Tony Chang  <tony@chromium.org>
84
85         Force XML comments to maintain whitespace
86         https://bugs.webkit.org/show_bug.cgi?id=94620
87
88         Reviewed by Pavel Feldman.
89
90         Fix a typo in XMLViewer.css for white-space formatting. This seems
91         like the desired behavior so you can see, e.g., code formatted in an
92         XML comment.
93
94         Covered by existing xmlviewer tests in http/tests/xmlviewer/dumpAsText
95
96         * xml/XMLViewer.css:
97         (.comment): Fix typo.
98         * xml/XMLViewer.js:
99         (createComment): Add style to comment nodes.
100
101 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
102
103         Unreviewed, rolling out r126202.
104         http://trac.webkit.org/changeset/126202
105         https://bugs.webkit.org/show_bug.cgi?id=94657
106
107         Causes assertion failures on Chromium Linux dbg compositing
108         layout tests (Requested by dominicc on #webkit).
109
110         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
111         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
112         * platform/graphics/chromium/LayerRendererChromium.cpp:
113         (WebCore::applyFilters):
114         (WebCore::LayerRendererChromium::drawRenderPassQuad):
115         (WebCore::LayerRendererChromium::drawTileQuad):
116         (WebCore::LayerRendererChromium::drawYUVVideoQuad):
117         (WebCore::LayerRendererChromium::drawTextureQuad):
118         (WebCore::LayerRendererChromium::getFramebufferTexture):
119         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
120         * platform/graphics/chromium/LayerRendererChromium.h:
121         (LayerRendererChromium):
122         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
123         (WebCore::CCResourceProvider::createResource):
124         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
125         (WebCore::CCResourceProvider::deleteResource):
126         (WebCore::CCResourceProvider::upload):
127         (WebCore::CCResourceProvider::lockForWrite):
128         (WebCore::CCResourceProvider::unlockForWrite):
129         (WebCore::CCResourceProvider::flush):
130         (WebCore::CCResourceProvider::shallowFlushIfSupported):
131         (WebCore::CCResourceProvider::lockForRead):
132         (WebCore::CCResourceProvider::unlockForRead):
133         (WebCore::CCResourceProvider::CCResourceProvider):
134         * platform/graphics/chromium/cc/CCResourceProvider.h:
135         (WebCore):
136         (CCResourceProvider):
137         (WebCore::CCResourceProvider::Resource::Resource):
138         (Resource):
139         (CCScopedLockResourceForRead):
140         (WebCore::CCScopedLockResourceForRead::CCScopedLockResourceForRead):
141         (WebCore::CCScopedLockResourceForRead::~CCScopedLockResourceForRead):
142         (WebCore::CCScopedLockResourceForRead::textureId):
143         (CCScopedLockResourceForWrite):
144         (WebCore::CCScopedLockResourceForWrite::CCScopedLockResourceForWrite):
145         (WebCore::CCScopedLockResourceForWrite::~CCScopedLockResourceForWrite):
146         (WebCore::CCScopedLockResourceForWrite::textureId):
147
148 2012-08-21  David Grogan  <dgrogan@chromium.org>
149
150         IndexedDB: Fire error at request when abort is called in upgradeneeded
151         https://bugs.webkit.org/show_bug.cgi?id=94402
152
153         Reviewed by Tony Chang.
154
155         Tests - updated intversion-abort-in-initial-upgradeneeded-expected.txt
156
157         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
158         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
159         (WebCore::IDBDatabaseBackendImpl::transactionFinishedAndCompleteFired):
160         (WebCore):
161         (WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
162         Now that second-half open calls don't get abandoned on the queue, we
163         can ASSERT that there's at most one of them at any time.
164
165         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
166         (IDBDatabaseBackendImpl):
167         * Modules/indexeddb/IDBRequest.cpp:
168         (WebCore::IDBRequest::dispatchEvent):
169         Move setting m_didFireUpgradeNeededEvent before dispatching the event.
170         If abort is called in the event handler an error event will be
171         enqueued and ASSERT_WITH_MESSAGE(m_readyState == PENDING ||
172         m_didFireUpgradeNeededEvent, ...) needs to pass.
173
174         * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
175         (WebCore::IDBTransactionBackendImpl::abort):
176         (WebCore::IDBTransactionBackendImpl::commit):
177
178 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
179
180         Unreviewed, rolling out r126233.
181         http://trac.webkit.org/changeset/126233
182         https://bugs.webkit.org/show_bug.cgi?id=94656
183
184         Broke Chromium Mac build (Requested by dominicc on #webkit).
185
186         * CMakeLists.txt:
187         * GNUmakefile.list.am:
188         * Target.pri:
189         * WebCore.gypi:
190         * WebCore.vcproj/WebCore.vcproj:
191         * WebCore.xcodeproj/project.pbxproj:
192         * css/mediaControls.css:
193         (video::-webkit-media-text-track-display):
194         * html/shadow/MediaControlElements.cpp:
195         (RenderTextTrackContainerElement):
196         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
197         * html/track/TextTrack.cpp:
198         * html/track/TextTrack.h:
199         (TextTrack):
200         * html/track/TextTrackCue.cpp:
201         (WebCore::TextTrackCue::TextTrackCue):
202         (WebCore::TextTrackCue::calculateComputedLinePosition):
203         (WebCore::TextTrackCue::calculateDisplayParameters):
204         (WebCore::TextTrackCue::getDisplayTree):
205         (WebCore::TextTrackCue::getPositionCoordinates):
206         * html/track/TextTrackCue.h:
207         (WebCore):
208         (TextTrackCue):
209         * rendering/RenderTextTrackCue.cpp: Removed.
210         * rendering/RenderTextTrackCue.h: Removed.
211
212 2012-08-20  Kentaro Hara  <haraken@chromium.org>
213
214         [V8] Remove getToStringName() and getToStringTemplate() from V8Binding
215         https://bugs.webkit.org/show_bug.cgi?id=94573
216
217         Reviewed by Adam Barth.
218
219         - Remove V8Binding::getToStringName() and V8Binding::getToStringTemplate().
220
221         - Replace getToStringName() with String::NewSymbol("toString").
222
223         - Fix V8PerIsolateData::getToStringTemplate() so that it caches a persistent
224         handle of a created FunctionTemplate. Before this patch, a FunctionTemplate
225         had been created for each toString().
226
227         No tests. No change in behavior.
228
229         * bindings/v8/V8Binding.cpp:
230         (WebCore::constructorToString):
231         * bindings/v8/V8Binding.h:
232         (WebCore):
233         * bindings/scripts/CodeGeneratorV8.pm:
234         (GenerateImplementation):
235         * bindings/scripts/test/V8/V8Float64Array.cpp:
236         (WebCore::ConfigureV8Float64ArrayTemplate):
237         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
238         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
239         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
240         (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
241         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
242         (WebCore::ConfigureV8TestEventConstructorTemplate):
243         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
244         (WebCore::ConfigureV8TestEventTargetTemplate):
245         * bindings/scripts/test/V8/V8TestException.cpp:
246         (WebCore::ConfigureV8TestExceptionTemplate):
247         * bindings/scripts/test/V8/V8TestInterface.cpp:
248         (WebCore::ConfigureV8TestInterfaceTemplate):
249         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
250         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
251         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
252         (WebCore::ConfigureV8TestNamedConstructorTemplate):
253         * bindings/scripts/test/V8/V8TestNode.cpp:
254         (WebCore::ConfigureV8TestNodeTemplate):
255         * bindings/scripts/test/V8/V8TestObj.cpp:
256         (WebCore::ConfigureV8TestObjTemplate):
257         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
258         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
259         * bindings/v8/V8PerIsolateData.h:
260         (V8PerIsolateData):
261
262 2012-08-21  Arvid Nilsson  <anilsson@rim.com>
263
264         [BlackBerry] WebGL Aquarium fails to render
265         https://bugs.webkit.org/show_bug.cgi?id=94634
266
267         The aquarium leaves with a glColorMask(false, false, false, true) which
268         caused us to fail to blit the color components of the aquarium to the
269         EGLImage.
270
271         Fixed by setting an appropriate color mask for a blit operation.
272
273         Reviewed by Yong Li.
274
275         No new tests, tested manually.
276
277         * platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
278         (WebCore::EGLImageLayerWebKitThread::blitToFrontBuffer):
279
280 2012-08-21  Victor Carbune  <victor@rosedu.org>
281
282         Display a TextTrackCue when snap-to-lines flag is set
283         https://bugs.webkit.org/show_bug.cgi?id=79751
284
285         Reviewed by Tony Chang.
286
287         This patch implements rendering functionality for a given text track,
288         following closer the exact WebVTT specification. There are two new classes
289         which have been added in order to succesfully cover rendering when of a text
290         track cue.
291
292         RenderTextTrackCue handles the specific rendering algorithm required,
293         by checking for overlaps with other boxes that are in the same
294         container (these can be any other boxes, not necessarily other cues,
295         the video controls, for example).
296
297         TextTrackCueBox extends HTMLDivElement and is an intermediate layer
298         between the renderer class and the actual cue object. Its purpose is
299         to instantiate the particular renderer and cover all the default CSS
300         styling that needs to be applied to the cue.
301
302         The layout is done in two steps:
303           - Step 1: Layout the TextTrackCue with default CSS properties set (this is
304         the TextTrackCueBox decorated with the respective CSS elements)
305           - Step 2: RenderTextTrackCue adjusts the box position depending on the
306         parameters of the TextTrackCue object and the overlaps that may occur with
307         previously positioned cues.
308
309         Tests: media/track/track-cue-rendering-horizontal.html
310                media/track/track-cue-rendering-vertical.html
311
312         * CMakeLists.txt: Updated to include RenderTextTrackCue.
313         * GNUmakefile.list.am: Updated to include RenderTextTrackCue.
314         * Target.pri: Updated to include RenderTextTrackCue.
315         * WebCore.gypi: Updated to include RenderTextTrackCue.
316         * WebCore.vcproj/WebCore.vcproj: Updated to include RenderTextTrackCue.
317         * WebCore.xcodeproj/project.pbxproj: Updated to include RenderTextTrackCue.
318         * css/mediaControls.css: Removed unreliable CSS.
319         (video::-webkit-media-text-track-display): Removed properties.
320         * html/shadow/MediaControlElements.cpp: Updated to not use the new class.
321         (RenderTextTrackContainerElement):
322         (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Simplified
323         the function by moving the check if track is rendered in TextTrack and used
324         the TextTrackCueBox for cues.
325         * html/track/TextTrack.cpp: Added a new method.
326         (WebCore::TextTrack::isRendered): Method that returns whether the track should
327         be rendered or not.
328         (WebCore):
329         * html/track/TextTrack.h: Added the isRendered method.
330         (TextTrack):
331         * html/track/TextTrackCue.cpp: Added several helper methods and
332         the TextTrackCueBox.
333         (WebCore):
334         (WebCore::TextTrackCueBox::TextTrackCueBox): The TextTrackCueBox extends
335         the HTMLDivElement and represents a bridge class between RenderTextTrackCue
336         and TextTrackCue. This is required as the layout is done in two steps, as
337         explained on top of the ChangeLog entry.
338         (WebCore::TextTrackCueBox::getCue): Returns the associated TextTrackCue object.
339         (WebCore::TextTrackCueBox::applyCSSProperties): Applies a part of the default CSS
340         properties, as defined by section 3.5.1 of the WebVTT specification.
341         (WebCore::TextTrackCueBox::shadowPseudoId): Moved the shadow pseudo id.
342         (WebCore::TextTrackCueBox::createRenderer): Creates the particular renderer.
343         (WebCore::TextTrackCue::TextTrackCue): Corrected the internal writing mode map.
344         (WebCore::TextTrackCue::calculateComputedLinePosition): Updated the compute line
345         position algorithm. This requires, however, a method to consider only rendered
346         tracks (and therefore will be addressed completely in subsequent changeset).
347         (WebCore::TextTrackCue::calculateDisplayParameters): Updated and corrected the
348         computed display parameters to match the current specification.
349         (WebCore::TextTrackCue::getDisplayTree): Update to use the TextTrackCueBox class
350         and moved CSS application to the respective class.
351         (WebCore::TextTrackCue::getPositionCoordinates): Added comment to specify in which
352         situation this method is used and change visibility to private.
353         (WebCore::TextTrackCue::getCSSWritingMode): Returns the CSS writing mode corresponding
354         to the cue writing mode.
355         (WebCore::TextTrackCue::getCSSSize): Returns the cue width / height (depending on the
356         writing direction.
357         (WebCore::TextTrackCue::getCSSPosition): Returns the default display position, that is
358         used in the first layout step.
359         * html/track/TextTrackCue.h:
360         (WebCore):
361         (TextTrackCueBox):
362         (WebCore::TextTrackCueBox::create): Initialization method.
363         (TextTrackCue):
364         (WebCore::TextTrackCue::getWritingDirection): Helper method to return the internal
365         values used to represent the writing direction.
366         * rendering/RenderTextTrackCue.cpp: Added.
367         (WebCore):
368         (WebCore::RenderTextTrackCue::RenderTextTrackCue):
369         (WebCore::RenderTextTrackCue::layout): The rendering steps, as mentioned in
370         the WebVTT rendering rules. Currently, this treats only the snap-to-lines set
371         case. It is implemented following closely the spec, and might be subject to
372         change as discussions on various bugs evolve.
373         (WebCore::RenderTextTrackCue::initializeLayoutParameters): Steps 1 - 7.
374         (WebCore::RenderTextTrackCue::placeBoxInDefaultPosition): Steps 8 - 10.
375         (WebCore::RenderTextTrackCue::isOutside): Inline method to check if the cue is outside.
376         (WebCore::RenderTextTrackCue::isOverlapping): Inline method to check if the cue overlaps other boxes.
377         (WebCore::RenderTextTrackCue::shouldSwitchDirection): Step 12.
378         (WebCore::RenderTextTrackCue::moveBoxesByStep): Step 13.
379         (WebCore::RenderTextTrackCue::switchDirection): Steps 15 - 18.
380         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesSet): Cue repositioning
381         for text track cue when the snap to lines flag is set.
382         (WebCore::RenderTextTrackCue::repositionCueSnapToLinesNotSet): Cue repositioning
383         for text track cue when the snap to lines flag is not set. Not implemented yet.
384         * rendering/RenderTextTrackCue.h: Added.
385         (WebCore):
386         (RenderTextTrackCue): Rendering class, handling the display of cues.
387
388 2012-08-21  Lianghui Chen  <liachen@rim.com>
389
390         [BlackBerry] Add RSS content handling support
391         https://bugs.webkit.org/show_bug.cgi?id=93496
392
393         Reviewed by Rob Buis.
394
395         Add code to filter RSS content, and properly convert them to HTML
396         content so they can display nicely, instead of as plain text.
397
398         Following modules are included:
399
400         RSSFilterStream: the code for detecting RSS content, and controlling
401         the handling of these content.
402
403         RSSParserBase: the base class for the following 3 RSS parser.
404         RSS10Parser: the code for decoding RSS 1.0 content.
405         RSS20Parser: the code for decoding RSS 2.0 content.
406         RSSAtomParser: the code for decoding Atom format RSS content.
407         RSSGenerator: the code for generating HTML content based on RSS feed.
408
409         No new tests as it's not changing how HTML content is handled.
410
411         * PlatformBlackBerry.cmake:
412         * platform/network/blackberry/NetworkJob.cpp:
413         (WebCore::NetworkJob::initialize):
414         * platform/network/blackberry/rss/RSS10Parser.cpp: Added.
415         (WebCore):
416         (WebCore::RSS10Parser::RSS10Parser):
417         (WebCore::RSS10Parser::parseBuffer):
418         (WebCore::RSS10Parser::parseXmlDoc):
419         (WebCore::RSS10Parser::parseItemBaseAttribute):
420         (WebCore::RSS10Parser::parseItem):
421         (WebCore::RSS10Parser::parseFeed):
422         * platform/network/blackberry/rss/RSS10Parser.h: Added.
423         (WebCore):
424         (RSS10Parser):
425         * platform/network/blackberry/rss/RSS20Parser.cpp: Added.
426         (WebCore):
427         (WebCore::RSS20Parser::RSS20Parser):
428         (WebCore::RSS20Parser::parseBuffer):
429         (WebCore::RSS20Parser::parseXmlDoc):
430         (WebCore::RSS20Parser::parseItemBaseAttribute):
431         (WebCore::RSS20Parser::parseItem):
432         (WebCore::RSS20Parser::parseFeed):
433         (WebCore::RSS20Parser::parseEnclosure):
434         * platform/network/blackberry/rss/RSS20Parser.h: Added.
435         (WebCore):
436         (RSS20Parser):
437         * platform/network/blackberry/rss/RSSAtomParser.cpp: Added.
438         (WebCore):
439         (WebCore::isRelativePath):
440         (WebCore::RSSAtomLink::relType):
441         (WebCore::RSSAtomParser::RSSAtomParser):
442         (WebCore::RSSAtomParser::parseBuffer):
443         (WebCore::RSSAtomParser::parseXmlDoc):
444         (WebCore::RSSAtomParser::parseItemBaseAttribute):
445         (WebCore::RSSAtomParser::parseItem):
446         (WebCore::RSSAtomParser::parseFeed):
447         (WebCore::RSSAtomParser::parseLink):
448         (WebCore::RSSAtomParser::enclosureFromLink):
449         (WebCore::RSSAtomParser::parseContent):
450         (WebCore::RSSAtomParser::parseAuthor):
451         (WebCore::RSSAtomParser::parseCategory):
452         * platform/network/blackberry/rss/RSSAtomParser.h: Added.
453         (WebCore):
454         (RSSAtomLink):
455         (WebCore::RSSAtomLink::RSSAtomLink):
456         (RSSAtomParser):
457         * platform/network/blackberry/rss/RSSFilterStream.cpp: Added.
458         (WebCore):
459         (WebCore::isASCIISpaceLowerByte):
460         (WebCore::stripWhiteSpace):
461         (WebCore::equalIgnoringCase):
462         (WebCore::isAtomMIMEType):
463         (WebCore::isRSSMIMEType):
464         (WebCore::isPotentialRSSMIMEType):
465         (WebCore::isRSSContent):
466         (WebCore::RSSTypeFromContentType):
467         (WebCore::RSSTypeFromContent):
468         (WebCore::createParser):
469         (WebCore::findXMLEncodingPosition):
470         (WebCore::findXMLLanguagePosition):
471         (WebCore::defaultEncodingForLanguage):
472         (WebCore::isTranscodingNeeded):
473         (WebCore::transcode):
474         (WebCore::transcodeContent):
475         (WebCore::RSSFilterStream::RSSFilterStream):
476         (WebCore::RSSFilterStream::notifyStatusReceived):
477         (WebCore::RSSFilterStream::notifyHeadersReceived):
478         (WebCore::RSSFilterStream::notifyDataReceived):
479         (WebCore::RSSFilterStream::notifyClose):
480         (WebCore::RSSFilterStream::convertContentToHtml):
481         (WebCore::RSSFilterStream::handleRSSContent):
482         (WebCore::RSSFilterStream::charset):
483         (WebCore::RSSFilterStream::encoding):
484         (WebCore::RSSFilterStream::saveHeaders):
485         (WebCore::RSSFilterStream::removeHeader):
486         (WebCore::RSSFilterStream::updateHeader):
487         (WebCore::RSSFilterStream::updateRSSHeaders):
488         (WebCore::RSSFilterStream::sendSavedHeaders):
489         (WebCore::RSSFilterStream::appendData):
490         * platform/network/blackberry/rss/RSSFilterStream.h: Added.
491         (WebCore):
492         (RSSFilterStream):
493         * platform/network/blackberry/rss/RSSGenerator.cpp: Added.
494         (WebCore):
495         (WebCore::RSSGenerator::RSSGenerator):
496         (WebCore::RSSGenerator::~RSSGenerator):
497         (WebCore::RSSGenerator::generateHtml):
498         * platform/network/blackberry/rss/RSSGenerator.h: Added.
499         (WebCore):
500         (RSSGenerator):
501         * platform/network/blackberry/rss/RSSParserBase.cpp: Added.
502         (WebCore):
503         (WebCore::RSSEnclosure::RSSEnclosure):
504         (WebCore::RSSEnclosure::typeInEnum):
505         (WebCore::RSSEnclosure::suggestedName):
506         (WebCore::RSSFeed::RSSFeed):
507         (WebCore::RSSFeed::~RSSFeed):
508         (WebCore::RSSFeed::clear):
509         (WebCore::RSSItem::RSSItem):
510         (WebCore::RSSItem::~RSSItem):
511         (WebCore::RSSItem::clear):
512         (WebCore::RSSParserBase::RSSParserBase):
513         (WebCore::RSSParserBase::~RSSParserBase):
514         (WebCore::textFromXMLAttr):
515         (WebCore::textFromXMLNode):
516         * platform/network/blackberry/rss/RSSParserBase.h: Added.
517         (WebCore):
518         (RSSEnclosure):
519         (RSSItemBase):
520         (RSSParserBase):
521
522 2012-08-21  Andrew Lo  <anlo@rim.com>
523
524         [BlackBerry] requestAnimationFrame: Unscheduled display link frames need to be sent to main thread
525         https://bugs.webkit.org/show_bug.cgi?id=94600
526
527         Reviewed by Rob Buis.
528
529         http://trac.webkit.org/changeset/116792 implements destroying
530         DisplayRefreshMonitor after the number of unscheduled frames exceeds 10.
531
532         Part of that change involves dispatching to the main thread whether
533         the frame was scheduled or not.
534
535         Make the corresponding change for the BlackBerry port that was made for
536         DisplayRefreshMonitorMac.cpp.
537
538         Tests covered by http://trac.webkit.org/changeset/116792
539
540         * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
541         (WebCore::DisplayRefreshMonitor::displayLinkFired):
542
543 2012-08-21  Brian Salomon  <bsalomon@google.com>
544
545         [Chromium/Skia] Filters should flush the SkCanvas
546         https://bugs.webkit.org/show_bug.cgi?id=94602
547
548         Reviewed by Stephen White.
549
550         Adds a SkCanvas::flush call to FilterBufferState::swap() to ensure the textures are updated before they are consumed by the compositor.
551
552         Covered by existing css3/filters layout tests.
553
554         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
555
556 2012-08-21  Lianghui Chen  <liachen@rim.com>
557
558         [BlackBerry] Use new method to create socket handle
559         https://bugs.webkit.org/show_bug.cgi?id=89991
560
561         Reviewed by Rob Buis.
562
563         Update the way to create SocketStream as the platform API has changed.
564
565         No new tests as no change of behaviour, just API change adaptation.
566
567         * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
568         (WebCore::SocketStreamHandle::SocketStreamHandle):
569
570 2012-08-21  Kentaro Hara  <haraken@chromium.org>
571
572         [V8] Move compileScript() from V8Proxy to ScriptSourceCode
573         https://bugs.webkit.org/show_bug.cgi?id=94561
574
575         Reviewed by Adam Barth.
576
577         To kill V8Proxy, this patch moves compileScript() from V8Proxy
578         to ScriptSourceCode. This patch also removes fromWebCoreString().
579
580         No tests. No change in behavior.
581
582         * UseV8.cmake:
583         * WebCore.gypi:
584         * bindings/v8/ScriptController.h:
585         (ScriptController):
586         * bindings/v8/ScriptSourceCode.cpp: Added.
587         (WebCore):
588         (WebCore::ScriptSourceCode::compileScript):
589         * bindings/v8/ScriptSourceCode.h:
590         (ScriptSourceCode):
591         * bindings/v8/V8Binding.h:
592         * bindings/v8/V8LazyEventListener.cpp:
593         (WebCore::V8LazyEventListener::prepareListenerObject):
594         * bindings/v8/V8Proxy.cpp:
595         (WebCore::V8Proxy::evaluate):
596         * bindings/v8/V8Proxy.h:
597         (V8Proxy):
598         * bindings/v8/WorkerContextExecutionProxy.cpp:
599         (WebCore::WorkerContextExecutionProxy::evaluate):
600         (WebCore::WorkerContextExecutionProxy::runScript):
601         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
602         (WebCore::V8InjectedScriptHost::getEventListenersCallback):
603         * bindings/v8/custom/V8MessageEventCustom.cpp:
604         (WebCore::V8MessageEvent::dataAccessorGetter):
605         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
606         (WebCore::toV8Object):
607         (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
608
609 2012-08-21  Kentaro Hara  <haraken@chromium.org>
610
611         [V8] Move toV8Context() from V8Proxy to V8Binding
612         https://bugs.webkit.org/show_bug.cgi?id=94597
613
614         Reviewed by Adam Barth.
615
616         To kill V8Proxy, we can move toV8Context() from V8Proxy to V8Binding.
617
618         No tests. No change in behavior.
619
620         * bindings/v8/V8Binding.cpp:
621         (WebCore::toV8Context):
622         (WebCore):
623         * bindings/v8/V8Binding.h:
624         (WebCore):
625         * bindings/v8/V8Proxy.cpp:
626         * bindings/v8/V8Proxy.h:
627
628 2012-08-21  Gabriel Peal  <gpeal@google.com>
629
630         Web Inspector: Embeddable Web Inspector
631         https://bugs.webkit.org/show_bug.cgi?id=91528
632
633         Reviewed by Pavel Feldman.
634
635         Adds functionality to the inspector such that it is better suited to run embedded in another webpage. It adds the ability to prepopulate the timeline panel with an existing recording among other controls.
636
637         * English.lproj/localizedStrings.js:
638         * inspector/front-end/InspectorFrontendAPI.js:
639         (InspectorFrontendAPI.dispatchQueryParameters):
640         (InspectorFrontendAPI.loadTimelineFromURL):
641         * inspector/front-end/InspectorFrontendHostStub.js:
642         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
643         (.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously):
644         * inspector/front-end/InspectorView.js:
645         * inspector/front-end/TimelineModel.js:
646         (WebInspector.TimelineModel.prototype.loadFromURL.onDataReceived):
647         (WebInspector.TimelineModel.prototype.loadFromURL.parseAndImportData):
648         (WebInspector.TimelineModel.prototype.loadFromURL.onLoad):
649         (WebInspector.TimelineModel.prototype.loadFromURL):
650         * inspector/front-end/TimelinePanel.js:
651         (WebInspector.TimelinePanel.prototype.loadFromURL):
652         * inspector/front-end/inspector.js:
653         (WebInspector._createPanels):
654         (WebInspector.loaded):
655         * inspector/front-end/utilities.js:
656
657 2012-08-21  Robin Cao  <robin.cao@torchmobile.com.cn>
658
659         [BlackBerry] Add support for getUserMedia
660         https://bugs.webkit.org/show_bug.cgi?id=94591
661
662         Reviewed by George Staikos.
663
664         Implement getUserMedia feature using the platform API.
665
666         Tests in fast/mediastream cover this.
667
668         PR #153571
669
670         Reviewed internally by George Staikos.
671
672         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
673         (WebCore::toWebMediaStreamSource):
674         (WebCore):
675         (WebCore::toWebMediaStreamDescriptor):
676         (WebCore::MediaPlayerPrivate::lookupMediaStream):
677         * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
678         (MediaPlayerPrivate):
679
680 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
681
682         Web Inspector: remove DOMNodeRemoved listener from the DefaultTextEditor
683         https://bugs.webkit.org/show_bug.cgi?id=94592
684
685         Reviewed by Yury Semikhatsky.
686
687         It seems to be not necessary.
688
689         * inspector/front-end/DefaultTextEditor.js:
690         (WebInspector.TextEditorMainPanel):
691         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
692         (WebInspector.TextEditorMainChunk):
693         (WebInspector.TextEditorMainChunk.prototype.set expanded):
694
695 2012-08-21  Thiago Marcos P. Santos  <thiago.santos@intel.com>
696
697         CodeGeneratorInspector.py: Generate guards for type validators
698         https://bugs.webkit.org/show_bug.cgi?id=94511
699
700         Reviewed by Yury Semikhatsky.
701
702         Fix regression when building debug and one of the generated types is
703         disabled by a compile flag. We should generate guards for these type
704         validators the same way as we are doing on the include headers.
705
706         * inspector/CodeGeneratorInspector.py:
707         (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
708
709 2012-08-21  Florin Malita  <fmalita@chromium.org>
710
711         ASSERT triggered in SVGTRefTargetEventListener::handleEvent()
712         https://bugs.webkit.org/show_bug.cgi?id=94487
713
714         Reviewed by Nikolas Zimmermann.
715
716         The current way of tracking tref target elements by id can leave stale event listeners
717         under certain circumstances. This patch switches to storing a target RefPtr instead
718         to avoid an id lookup which may not return the original/attached element.
719
720         Test: svg/custom/tref-stale-listener-crash.html
721
722         * svg/SVGTRefElement.cpp:
723         (SVGTRefTargetEventListener):
724         (WebCore::SVGTRefTargetEventListener::isAttached): use m_target instead of an explicit bool.
725         (WebCore::SVGTRefTargetEventListener::SVGTRefTargetEventListener):
726         (WebCore::SVGTRefTargetEventListener::attach): save a target RefPtr instead of an id.
727         (WebCore::SVGTRefTargetEventListener::detach): detach the target element directly without
728         going through a lookup.
729         (WebCore::SVGTRefTargetEventListener::handleEvent):
730         (WebCore::SVGTRefElement::updateReferencedText): use an explicit target pointer instead of
731         the id-based lookup.
732         (WebCore::SVGTRefElement::buildPendingResource):
733         * svg/SVGTRefElement.h:
734         (SVGTRefElement):
735
736 2012-08-21  Alexandre Elias  <aelias@google.com>
737
738         [chromium] Add software bitmap resources to CCResourceProvider
739         https://bugs.webkit.org/show_bug.cgi?id=93677
740
741         Reviewed by Adrienne Walker.
742
743         This adds the ability to CCResourceProvider to use software bitmaps.
744         They are allocated as plain-old-memory, and exposed as Skia objects.
745
746         We want the ResourceProvider to be able to handle different resource
747         types at the same time.  In practice, a default resource type is
748         desired for most uses within a single compositor instance, which is
749         specified by the default resource type.  Default resource types are
750         expected to be mostly 1-to-1 with CCRenderer types.
751
752         New tests added by parametrizing existing CCResourceProvider tests.
753
754         * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
755         (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
756         * platform/graphics/chromium/LayerRendererChromium.cpp:
757         (WebCore::applyFilters):
758         (WebCore::LayerRendererChromium::drawRenderPassQuad):
759         (WebCore::LayerRendererChromium::drawTileQuad):
760         (WebCore::LayerRendererChromium::drawYUVVideoQuad):
761         (WebCore::LayerRendererChromium::drawTextureQuad):
762         (WebCore::LayerRendererChromium::getFramebufferTexture):
763         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
764         * platform/graphics/chromium/LayerRendererChromium.h:
765         (DrawingFrame):
766         * platform/graphics/chromium/cc/CCResourceProvider.cpp:
767         (WebCore::CCResourceProvider::createResource):
768         (WebCore):
769         (WebCore::CCResourceProvider::createGLTexture):
770         (WebCore::CCResourceProvider::createBitmap):
771         (WebCore::CCResourceProvider::createResourceFromExternalTexture):
772         (WebCore::CCResourceProvider::deleteResource):
773         (WebCore::CCResourceProvider::upload):
774         (WebCore::CCResourceProvider::flush):
775         (WebCore::CCResourceProvider::shallowFlushIfSupported):
776         (WebCore::CCResourceProvider::lockForRead):
777         (WebCore::CCResourceProvider::unlockForRead):
778         (WebCore::CCResourceProvider::lockForWrite):
779         (WebCore::CCResourceProvider::unlockForWrite):
780         (WebCore::CCResourceProvider::ScopedReadLockGL::ScopedReadLockGL):
781         (WebCore::CCResourceProvider::ScopedReadLockGL::~ScopedReadLockGL):
782         (WebCore::CCResourceProvider::ScopedWriteLockGL::ScopedWriteLockGL):
783         (WebCore::CCResourceProvider::ScopedWriteLockGL::~ScopedWriteLockGL):
784         (WebCore::CCResourceProvider::populateSkBitmapWithResource):
785         (WebCore::CCResourceProvider::ScopedReadLockSoftware::ScopedReadLockSoftware):
786         (WebCore::CCResourceProvider::ScopedReadLockSoftware::~ScopedReadLockSoftware):
787         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::ScopedWriteLockSoftware):
788         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::~ScopedWriteLockSoftware):
789         (WebCore::CCResourceProvider::CCResourceProvider):
790         * platform/graphics/chromium/cc/CCResourceProvider.h:
791         (WebCore):
792         (WebCore::CCResourceProvider::setCreationPolicy):
793         (WebCore::CCResourceProvider::creationPolicy):
794         (CCResourceProvider):
795         (ScopedReadLockGL):
796         (WebCore::CCResourceProvider::ScopedReadLockGL::textureId):
797         (ScopedWriteLockGL):
798         (WebCore::CCResourceProvider::ScopedWriteLockGL::textureId):
799         (ScopedReadLockSoftware):
800         (WebCore::CCResourceProvider::ScopedReadLockSoftware::skBitmap):
801         (ScopedWriteLockSoftware):
802         (WebCore::CCResourceProvider::ScopedWriteLockSoftware::skCanvas):
803         (Resource):
804
805 2012-08-21  Tab Atkins  <tabatkins@google.com>
806
807         Track -webkit property usage.
808         https://bugs.webkit.org/show_bug.cgi?id=93420
809
810         Reviewed by Ojan Vafai.
811
812         First draft of an attempt to track all usage of -webkit prefixed properties across the web.
813         This attempt is dumb, but should provide useful data as a first-pass.
814         I plan to optimize this for better data collection in the future.
815
816         No tests added, as this is untestable currently.
817         It should have zero effect besides histogramming.
818
819         * css/CSSParser.cpp:
820         (WebCore::cssPropertyID):
821
822 2012-08-21  Alec Flett  <alecflett@chromium.org>
823
824         IndexedDB: remove old update/openCursor glue
825         https://bugs.webkit.org/show_bug.cgi?id=94378
826
827         Reviewed by Tony Chang.
828
829         Remove old openCursor and update methods after landing
830         https://bugs.webkit.org/show_bug.cgi?id=91125 and removing
831         Chromium-side glue.
832
833         No new tests: this code is dead.
834
835         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
836         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
837         (IDBObjectStoreBackendImpl):
838         * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
839         * inspector/InspectorIndexedDBAgent.cpp:
840         (WebCore):
841
842 2012-08-21  James Robinson  <jamesr@chromium.org>
843
844         [chromium] Should be able to destroy a CCLayerTreeHost without manually setting the root layer
845         https://bugs.webkit.org/show_bug.cgi?id=94631
846
847         Reviewed by Adrienne Walker.
848
849         In the depths of time when dinosaurs roamed the earth, LayerChromium and CCLayerTreeHost were both reference
850         counted and there was a cycle between the root LayerChromium and CCLayerTreeHost. This required all users of
851         CCLayerTreeHost to manually break the cycle by calling setRootLayer(0) before dropping their reference to the
852         host. Nowadays, CCLayerTreeHost has a single owner and LayerChromiums only have a weak pointer to their host
853         so we should just do this cleanup ourselves instead of imposing it on callers.
854
855         Unit test added to LayerChromiumTest.cpp
856
857         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
858         (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
859
860 2012-08-21  Ulan Degenbaev  <ulan@chromium.org>
861
862         Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer constructed and destructed
863         https://bugs.webkit.org/show_bug.cgi?id=92993
864
865         Reviewed by Kenneth Russell.
866
867         Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer
868         is constructed and destructed so that V8's garbage collection
869         heuristics can account for the memory held by these objects.
870
871         * WebCore.gypi:
872         * bindings/v8/SerializedScriptValue.cpp:
873         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
874         (WebCore::V8ArrayBufferDeallocationObserver::instance):
875         (WebCore):
876         (WebCore::V8ArrayBuffer::constructorCallback):
877         * bindings/v8/custom/V8ArrayBufferCustom.h: Added.
878         (WebCore):
879         * bindings/v8/custom/V8ArrayBufferViewCustom.cpp:
880         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
881         (WebCore::constructWebGLArray):
882         * dom/MessageEvent.cpp:
883         (WebCore::MessageEvent::MessageEvent):
884         (WebCore::MessageEvent::initMessageEvent):
885
886 2012-08-21  Taiju Tsuiki  <tzik@chromium.org>
887
888         Web Inspector: Completion events of InspectorFileSystemAgent should be fired asynchronously.
889         https://bugs.webkit.org/show_bug.cgi?id=93933
890
891         Reviewed by Yury Semikhatsky.
892
893         InspectorFileSystemAgent fires completion event too early in error case. It should wait
894         until JS code is ready.
895
896         Test: http/tests/inspector/filesystem/request-directory-content.html
897               http/tests/inspector/filesystem/request-file-content.html
898               http/tests/inspector/filesystem/request-metadata.html
899
900         * inspector/InspectorFileSystemAgent.cpp:
901         (WebCore): Add ReportErrorTask class
902
903 2012-08-21  Mike West  <mkwst@chromium.org>
904
905         Blocking a resource via Content Security Policy should trigger an Error event.
906         https://bugs.webkit.org/show_bug.cgi?id=89440
907
908         Reviewed by Jochen Eisinger.
909
910         If a CSP directive is violated, CachedResourceLoader will trigger a
911         console error, and return a null image. In that case, we now dispatch
912         an error on the relevant element.
913
914         Adjusted http/tests/security/contentSecurityPolicy/image-blocked.html
915         and http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html
916         to test the new behavior.
917
918         This has the side-effect of also generating errors for images blocked by
919         Chromium's content settings. Adjusted
920         platform/chromium/permissionclient/image-permissions.html to agree with
921         the new behavior.
922
923         * loader/ImageLoader.cpp:
924         (WebCore::ImageLoader::updateFromElement):
925
926 2012-08-21  Taiju Tsuiki  <tzik@chromium.org>
927
928         Web Inspector: Split out crumb list part of styles from elementsPanel.css
929         https://bugs.webkit.org/show_bug.cgi?id=94301
930
931         Reviewed by Pavel Feldman.
932
933         As a preparation to use BreadcrumbList on FileSystem, introduce breadcrumbList.css and
934         move crumb-related style entries into it from elementsPanel.css.
935
936         No new tests. This change does not make functional change.
937
938         * WebCore.gypi:
939         * WebCore.vcproj/WebCore.vcproj:
940         * inspector/front-end/ElementsPanel.js:
941         * inspector/front-end/WebKit.qrc:
942         * inspector/front-end/breadcrumbList.css: Added.
943         (.crumbs):
944         (.crumbs .crumb):
945         (.crumbs .crumb.collapsed > *):
946         (.crumbs .crumb.collapsed::before):
947         (.crumbs .crumb.compact .extra):
948         (.crumbs .crumb.dimmed):
949         (.crumbs .crumb.start):
950         (.crumbs .crumb.end):
951         (.crumbs .crumb.selected):
952         (.crumbs .crumb.selected:hover):
953         (.crumbs .crumb.selected.end, .crumbs .crumb.selected.end:hover):
954         (.crumbs .crumb:hover):
955         (.crumbs .crumb.dimmed:hover):
956         (.crumbs .crumb.end:hover):
957         * inspector/front-end/elementsPanel.css:
958
959 2012-08-21  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
960
961         canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-6.html fails
962         https://bugs.webkit.org/show_bug.cgi?id=50797
963
964         Reviewed by Andreas Kling.
965
966         Add a check in fast-path parseAlphaValue() to return early
967         if the CSS <alphavalue> ended with an invalid digit.
968
969         Test: canvas/philip/tests/2d.fillStyle.parse.invalid.rgba-6.html
970
971         * css/CSSParser.cpp:
972         (WebCore::parseAlphaValue):
973
974 2012-08-21  Benjamin Poulain  <bpoulain@apple.com>
975
976         Store CString data in the CStringBuffer to avoid the double indirection
977         https://bugs.webkit.org/show_bug.cgi?id=94562
978
979         Reviewed by Darin Adler.
980
981         * bindings/cpp/WebDOMCString.cpp:
982         (WebDOMCString::length): With the patch, CStringBuffer hold the real string length instead of the
983         size of the buffer including the terminating zero. WebDOMCString is updated accordingly.
984
985 2012-08-21  Benjamin Poulain  <bpoulain@apple.com>
986
987         Create CSS color output string on 8 bits
988         https://bugs.webkit.org/show_bug.cgi?id=94625
989
990         Reviewed by Andreas Kling.
991
992         * css/CSSPrimitiveValue.cpp:
993         (WebCore::CSSPrimitiveValue::customCssText):
994         Previously, the output string for a CSS color was computed on 16 bits.
995         This was mainly forced by the use of String::number().
996
997         Since the double to string conversion is done on 8bits anyway, I changed
998         the code to use dtoa's numberToFixedPrecisionString directly instead of
999         String::number().
1000         All the other parts were already on 8bits.
1001
1002 2012-08-21  Martin Robinson  <mrobinson@igalia.com>
1003
1004         [GTK] Using a native window for the WebView breaks GtkOverlay
1005         https://bugs.webkit.org/show_bug.cgi?id=90085
1006
1007         Reviewed by Alejandro G. Castro.
1008
1009         No new tests. This will be covered by pixel test for accelerated
1010         compositing when they are activated.
1011
1012         * GNUmakefile.am: Add XComposite libraries to the linker list.
1013         * GNUmakefile.list.am: Add RedirectedXCompositeWindow files to the source list.
1014         Make a new section for GLX specific files.
1015         * platform/graphics/glx/GLContextGLX.cpp:
1016         (WebCore::GLContextGLX::sharedDisplay): Expose sharedDisplay as a static method
1017         so that it can be called by other X11 specific code.
1018         * platform/graphics/glx/GLContextGLX.h: Ditto.
1019         * platform/gtk/RedirectedXCompositeWindow.cpp: Added. An implementation of a GL surface
1020         that renders to an X-window which redirects to a pixmap.
1021         * platform/gtk/RedirectedXCompositeWindow.h: Added.
1022
1023 2012-08-21  David Hyatt  <hyatt@apple.com>
1024
1025         [New Multicolumn] Make column rules paint properly.
1026         https://bugs.webkit.org/show_bug.cgi?id=94616
1027
1028         Reviewed by Simon Fraser.
1029
1030         Make the new multi-column code paint column rules and also prepare it for painting
1031         the actual column contents.
1032
1033         * rendering/RenderMultiColumnBlock.cpp:
1034         (WebCore::RenderMultiColumnBlock::ensureColumnSets):
1035         Remove the addRegionToThread call, since this is now done automatically in RenderRegion::insertedIntoTree.
1036         
1037         * rendering/RenderMultiColumnBlock.h:
1038         (WebCore::RenderMultiColumnBlock::flowThread):
1039         Make public so that RenderMultiColumnSet can access it.
1040         
1041         (RenderMultiColumnBlock):
1042         * rendering/RenderMultiColumnSet.cpp:
1043         (WebCore::RenderMultiColumnSet::columnGap):
1044         Add a column gap fetch method. It's identical to the one on RenderBlock (which will eventually go away
1045         when we kill the old multi-column code).
1046         
1047         (WebCore::RenderMultiColumnSet::columnRectAt):
1048         Also identical to the RenderBlock version of this method. Gets the rect for the nth column.
1049         
1050         (WebCore::RenderMultiColumnSet::paintReplaced):
1051         Subclass paintReplaced in order to do column rules and contents painting.
1052         
1053         (WebCore::RenderMultiColumnSet::paintColumnRules):
1054         (WebCore::RenderMultiColumnSet::paintColumnContents):
1055         Similar to the methods on RenderBlock. The former paints the rules and the latter paints the contents of
1056         the flow thread into the columns.
1057         
1058         * rendering/RenderMultiColumnSet.h:
1059         (RenderMultiColumnSet):
1060         Add the declarations of all the new methods.
1061         
1062         * rendering/RenderRegion.cpp:
1063         (WebCore::RenderRegion::installFlowThread):
1064         Added a new virtual function for installing flow threads when they didn't exist at construction time.
1065         This only applies to actual CSS Regions, so the subclass of the method in RenderRegionSet just does
1066         nothing.
1067         
1068         (WebCore::RenderRegion::attachRegion):
1069         Get the named flow thread code out of attachRegion, since it broke multi-column. Moved it into a
1070         virtual function, installFlowThread, that is only used by actual CSS regions. Eventually we may
1071         want a RenderRegion subclass that represents a region for a named flow thread only, but for now
1072         let the code sit in installFlowThread in the base class.
1073         
1074         * rendering/RenderRegion.h:
1075         (RenderRegion):
1076         Add installFlowThread declaration.
1077         
1078         * rendering/RenderRegionSet.cpp:
1079         (WebCore::RenderRegionSet::installFlowThread):
1080         installFlowThread for region sets just does nothing, since we don't use named flow threads.
1081         
1082         * rendering/RenderRegionSet.h:
1083         (RenderRegionSet):
1084         Add the override of installFlowThread.
1085
1086 2012-08-21  Patrick Gansterer  <paroga@webkit.org>
1087
1088         [WIN] Build fix for !ENABLE(DRAG_SUPPORT).
1089
1090         * page/win/EventHandlerWin.cpp:
1091         (WebCore):
1092         (WebCore::EventHandler::passMouseMoveEventToSubframe):
1093
1094 2012-08-21  James Robinson  <jamesr@chromium.org>
1095
1096         Unreviewed, rolling out r126170.
1097         http://trac.webkit.org/changeset/126170
1098         https://bugs.webkit.org/show_bug.cgi?id=94614
1099
1100         I spoke too soon
1101
1102         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1103         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
1104         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
1105         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
1106         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
1107         (WebCore::ScrollingCoordinatorPrivate::hasScrollLayer):
1108         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
1109         (ScrollingCoordinatorPrivate):
1110         (WebCore::createScrollbarLayer):
1111         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1112         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1113         (WebCore::ScrollingCoordinator::setScrollLayer):
1114         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1115         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
1116         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1117         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
1118         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
1119         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1120         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
1121         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
1122         (WebCore::Canvas2DLayerBridge::prepareForDraw):
1123         (WebCore::Canvas2DLayerBridge::layer):
1124         (WebCore::Canvas2DLayerBridge::contextAcquired):
1125         * platform/graphics/chromium/Canvas2DLayerBridge.h:
1126         (Canvas2DLayerBridge):
1127         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1128         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
1129         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
1130         (WebCore::DrawingBufferPrivate::layer):
1131         (DrawingBufferPrivate):
1132         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1133         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1134         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
1135         (WebCore::GraphicsLayerChromium::willBeDestroyed):
1136         (WebCore):
1137         (WebCore::GraphicsLayerChromium::updateNames):
1138         (WebCore::GraphicsLayerChromium::removeFromParent):
1139         (WebCore::GraphicsLayerChromium::setSize):
1140         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
1141         (WebCore::GraphicsLayerChromium::setContentsOpaque):
1142         (WebCore::GraphicsLayerChromium::setFilters):
1143         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
1144         (WebCore::GraphicsLayerChromium::setMaskLayer):
1145         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
1146         (WebCore::GraphicsLayerChromium::setOpacity):
1147         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1148         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
1149         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
1150         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
1151         (WebCore::GraphicsLayerChromium::setContentsToImage):
1152         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
1153         (WebCore::GraphicsLayerChromium::addAnimation):
1154         (WebCore::GraphicsLayerChromium::pauseAnimation):
1155         (WebCore::GraphicsLayerChromium::removeAnimation):
1156         (WebCore::GraphicsLayerChromium::suspendAnimations):
1157         (WebCore::GraphicsLayerChromium::resumeAnimations):
1158         (WebCore::GraphicsLayerChromium::addLinkHighlight):
1159         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
1160         (WebCore::GraphicsLayerChromium::setContentsToMedia):
1161         (WebCore::GraphicsLayerChromium::primaryLayer):
1162         (WebCore::GraphicsLayerChromium::platformLayer):
1163         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
1164         (WebCore::GraphicsLayerChromium::setDebugBorder):
1165         (WebCore::GraphicsLayerChromium::updateChildList):
1166         (WebCore::GraphicsLayerChromium::updateLayerPosition):
1167         (WebCore::GraphicsLayerChromium::updateLayerSize):
1168         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1169         (WebCore::GraphicsLayerChromium::updateTransform):
1170         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
1171         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
1172         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
1173         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
1174         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
1175         (WebCore::GraphicsLayerChromium::updateContentsRect):
1176         (WebCore::GraphicsLayerChromium::updateContentsScale):
1177         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1178         * platform/graphics/chromium/GraphicsLayerChromium.h:
1179         (WebCore::GraphicsLayerChromium::hasContentsLayer):
1180         (GraphicsLayerChromium):
1181         (WebCore::GraphicsLayerChromium::contentsLayer):
1182         * platform/graphics/chromium/LayerChromium.cpp:
1183         (WebCore::LayerChromium::rootLayer):
1184         * platform/graphics/chromium/LayerChromium.h:
1185
1186 2012-08-21  Adam Barth  <abarth@webkit.org>
1187
1188         Update run-bindings-tests results after http://trac.webkit.org/changeset/126165
1189
1190         * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
1191         (WebCore::jsTestActiveDOMObjectExcitingAttr):
1192         (WebCore::jsTestActiveDOMObjectConstructor):
1193         (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
1194
1195 2012-08-21  Vincent Scheib  <scheib@chromium.org>
1196
1197         Add parsing logic for allow-pointer-lock to iframe sandbox attribute.
1198         https://bugs.webkit.org/show_bug.cgi?id=94513
1199
1200         Reviewed by Adam Barth.
1201
1202         Pointer lock was previously blocked from all sandboxed iframes.
1203         Parsing the sandbox="allow-pointer-lock" attribute allows pages
1204         to control the feature and enable it in sandboxed iframes.
1205
1206         Tests: http/tests/pointer-lock/iframe-sandboxed-allow-pointer-lock.html
1207                http/tests/pointer-lock/iframe-sandboxed-nested-allow-pointer-lock.html
1208                http/tests/pointer-lock/iframe-sandboxed-nested-disallow-then-allow-pointer-lock.html
1209
1210         * dom/SecurityContext.cpp:
1211         (WebCore::SecurityContext::parseSandboxPolicy):
1212
1213 2012-08-21  James Robinson  <jamesr@chromium.org>
1214
1215         Unreviewed, rolling out r126169.
1216         http://trac.webkit.org/changeset/126169
1217         https://bugs.webkit.org/show_bug.cgi?id=94614
1218
1219         Crashes already fixed downstream
1220
1221         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1222         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
1223         (ScrollingCoordinatorPrivate):
1224         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
1225         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
1226         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
1227         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
1228         (WebCore::scrollableLayerForGraphicsLayer):
1229         (WebCore):
1230         (WebCore::createScrollbarLayer):
1231         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1232         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1233         (WebCore::ScrollingCoordinator::setScrollLayer):
1234         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1235         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
1236         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1237         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
1238         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
1239         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1240         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
1241         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
1242         (WebCore::Canvas2DLayerBridge::prepareForDraw):
1243         (WebCore::Canvas2DLayerBridge::layer):
1244         (WebCore::Canvas2DLayerBridge::contextAcquired):
1245         * platform/graphics/chromium/Canvas2DLayerBridge.h:
1246         (Canvas2DLayerBridge):
1247         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1248         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
1249         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
1250         (WebCore::DrawingBufferPrivate::layer):
1251         (DrawingBufferPrivate):
1252         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1253         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1254         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
1255         (WebCore::GraphicsLayerChromium::updateNames):
1256         (WebCore::GraphicsLayerChromium::removeFromParent):
1257         (WebCore::GraphicsLayerChromium::setSize):
1258         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
1259         (WebCore::GraphicsLayerChromium::setContentsOpaque):
1260         (WebCore::GraphicsLayerChromium::setFilters):
1261         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
1262         (WebCore::GraphicsLayerChromium::setMaskLayer):
1263         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
1264         (WebCore::GraphicsLayerChromium::setOpacity):
1265         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1266         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
1267         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
1268         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
1269         (WebCore::GraphicsLayerChromium::setContentsToImage):
1270         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
1271         (WebCore):
1272         (WebCore::GraphicsLayerChromium::setContentsToMedia):
1273         (WebCore::GraphicsLayerChromium::setContentsTo):
1274         (WebCore::GraphicsLayerChromium::addAnimation):
1275         (WebCore::GraphicsLayerChromium::pauseAnimation):
1276         (WebCore::GraphicsLayerChromium::removeAnimation):
1277         (WebCore::GraphicsLayerChromium::suspendAnimations):
1278         (WebCore::GraphicsLayerChromium::resumeAnimations):
1279         (WebCore::GraphicsLayerChromium::addLinkHighlight):
1280         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
1281         (WebCore::GraphicsLayerChromium::platformLayer):
1282         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
1283         (WebCore::GraphicsLayerChromium::setDebugBorder):
1284         (WebCore::GraphicsLayerChromium::updateChildList):
1285         (WebCore::GraphicsLayerChromium::updateLayerPosition):
1286         (WebCore::GraphicsLayerChromium::updateLayerSize):
1287         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1288         (WebCore::GraphicsLayerChromium::updateTransform):
1289         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
1290         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
1291         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
1292         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
1293         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
1294         (WebCore::GraphicsLayerChromium::updateContentsRect):
1295         (WebCore::GraphicsLayerChromium::updateContentsScale):
1296         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1297         * platform/graphics/chromium/GraphicsLayerChromium.h:
1298         (WebCore::GraphicsLayerChromium::hasContentsLayer):
1299         (WebCore::GraphicsLayerChromium::contentLayer):
1300         (GraphicsLayerChromium):
1301         (WebCore::GraphicsLayerChromium::contentsLayer):
1302         * platform/graphics/chromium/LayerChromium.cpp:
1303         (WebCore::LayerChromium::rootLayer):
1304         * platform/graphics/chromium/LayerChromium.h:
1305
1306 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1307
1308         Unreviewed, rolling out r126076, r126099, and r126106.
1309         http://trac.webkit.org/changeset/126076
1310         http://trac.webkit.org/changeset/126099
1311         http://trac.webkit.org/changeset/126106
1312         https://bugs.webkit.org/show_bug.cgi?id=94614
1313
1314         Caused crashes during compositor shutdown in Aura builds of
1315         Chromium (Requested by kbr_google on #webkit).
1316
1317         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
1318         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
1319         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
1320         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
1321         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
1322         (WebCore::ScrollingCoordinatorPrivate::hasScrollLayer):
1323         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
1324         (ScrollingCoordinatorPrivate):
1325         (WebCore::createScrollbarLayer):
1326         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
1327         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
1328         (WebCore::ScrollingCoordinator::setScrollLayer):
1329         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
1330         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
1331         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
1332         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
1333         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
1334         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
1335         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
1336         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
1337         (WebCore::Canvas2DLayerBridge::prepareForDraw):
1338         (WebCore::Canvas2DLayerBridge::layer):
1339         (WebCore::Canvas2DLayerBridge::contextAcquired):
1340         * platform/graphics/chromium/Canvas2DLayerBridge.h:
1341         (Canvas2DLayerBridge):
1342         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1343         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
1344         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
1345         (WebCore::DrawingBufferPrivate::layer):
1346         (DrawingBufferPrivate):
1347         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1348         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
1349         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
1350         (WebCore::GraphicsLayerChromium::willBeDestroyed):
1351         (WebCore):
1352         (WebCore::GraphicsLayerChromium::updateNames):
1353         (WebCore::GraphicsLayerChromium::removeFromParent):
1354         (WebCore::GraphicsLayerChromium::setSize):
1355         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
1356         (WebCore::GraphicsLayerChromium::setContentsOpaque):
1357         (WebCore::GraphicsLayerChromium::setFilters):
1358         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
1359         (WebCore::GraphicsLayerChromium::setMaskLayer):
1360         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
1361         (WebCore::GraphicsLayerChromium::setOpacity):
1362         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
1363         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
1364         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
1365         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
1366         (WebCore::GraphicsLayerChromium::setContentsToImage):
1367         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
1368         (WebCore::GraphicsLayerChromium::addAnimation):
1369         (WebCore::GraphicsLayerChromium::pauseAnimation):
1370         (WebCore::GraphicsLayerChromium::removeAnimation):
1371         (WebCore::GraphicsLayerChromium::suspendAnimations):
1372         (WebCore::GraphicsLayerChromium::resumeAnimations):
1373         (WebCore::GraphicsLayerChromium::addLinkHighlight):
1374         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
1375         (WebCore::GraphicsLayerChromium::setContentsToMedia):
1376         (WebCore::GraphicsLayerChromium::primaryLayer):
1377         (WebCore::GraphicsLayerChromium::platformLayer):
1378         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
1379         (WebCore::GraphicsLayerChromium::setDebugBorder):
1380         (WebCore::GraphicsLayerChromium::updateChildList):
1381         (WebCore::GraphicsLayerChromium::updateLayerPosition):
1382         (WebCore::GraphicsLayerChromium::updateLayerSize):
1383         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
1384         (WebCore::GraphicsLayerChromium::updateTransform):
1385         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
1386         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
1387         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
1388         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
1389         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
1390         (WebCore::GraphicsLayerChromium::updateContentsRect):
1391         (WebCore::GraphicsLayerChromium::updateContentsScale):
1392         (WebCore::GraphicsLayerChromium::setupContentsLayer):
1393         * platform/graphics/chromium/GraphicsLayerChromium.h:
1394         (WebCore::GraphicsLayerChromium::hasContentsLayer):
1395         (GraphicsLayerChromium):
1396         (WebCore::GraphicsLayerChromium::contentsLayer):
1397         * platform/graphics/chromium/LayerChromium.cpp:
1398         (WebCore::LayerChromium::rootLayer):
1399         * platform/graphics/chromium/LayerChromium.h:
1400
1401 2012-08-21  Pavel Feldman  <pfeldman@chromium.org>
1402
1403         Web Inspector: do not use window's eval in InjectedScript
1404         https://bugs.webkit.org/show_bug.cgi?id=94610
1405
1406         Reviewed by Yury Semikhatsky.
1407
1408         Otherwise, inspector does not work when eval is overriden.
1409
1410         Test: inspector/console/console-eval-fake.html
1411
1412         * bindings/js/JSInjectedScriptHostCustom.cpp:
1413         (WebCore::JSInjectedScriptHost::evaluate):
1414         (WebCore):
1415         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1416         (WebCore::V8InjectedScriptHost::evaluateCallback):
1417         (WebCore):
1418         * inspector/InjectedScriptHost.idl:
1419         * inspector/InjectedScriptSource.js:
1420         (.):
1421
1422 2012-08-21  Adam Barth  <abarth@webkit.org>
1423
1424         Implement JSDOMWindow*::allowsAccessFrom* in terms of BindingSecurity
1425         https://bugs.webkit.org/show_bug.cgi?id=93407
1426
1427         Reviewed by Eric Seidel.
1428
1429         This patch removes allowsAccessFrom and implements the security checks
1430         in terms of shouldAllowAccessToDOMWindow directly.
1431
1432         * bindings/generic/BindingSecurity.cpp:
1433         (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow):
1434         (WebCore):
1435         * bindings/generic/BindingSecurity.h:
1436         (BindingSecurity):
1437         * bindings/js/JSDOMBinding.cpp:
1438         (WebCore::shouldAllowAccessToFrame):
1439         (WebCore):
1440         (WebCore::shouldAllowAccessToDOMWindow):
1441         * bindings/js/JSDOMBinding.h:
1442         (WebCore):
1443         * bindings/js/JSDOMWindowBase.cpp:
1444         (WebCore::shouldAllowAccessFrom):
1445         (WebCore):
1446         * bindings/js/JSDOMWindowBase.h:
1447         (JSDOMWindowBase):
1448         * bindings/js/JSDOMWindowCustom.cpp:
1449         (WebCore::namedItemGetter):
1450         (WebCore::JSDOMWindow::getOwnPropertySlot):
1451         (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
1452         (WebCore::JSDOMWindow::put):
1453         (WebCore::JSDOMWindow::deleteProperty):
1454         (WebCore::JSDOMWindow::getPropertyNames):
1455         (WebCore::JSDOMWindow::getOwnPropertyNames):
1456         (WebCore::JSDOMWindow::defineOwnProperty):
1457         (WebCore::JSDOMWindow::setLocation):
1458         * bindings/js/JSDOMWindowCustom.h:
1459         * bindings/js/JSInjectedScriptManager.cpp:
1460         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
1461         * bindings/objc/WebScriptObject.mm:
1462         (-[WebScriptObject _isSafeScript]):
1463         * bindings/scripts/CodeGeneratorJS.pm:
1464         (GenerateGetOwnPropertyDescriptorBody):
1465         (GenerateImplementation):
1466
1467 2012-08-21  Dan Bernstein  <mitz@apple.com>
1468
1469         <rdar://problem/12104508> TextIterator takes O(n^2) to iterate over n empty blocks
1470         https://bugs.webkit.org/show_bug.cgi?id=94429
1471
1472         Reviewed by Sam Weinig.
1473
1474         No new tests, because behavior is unchanged.
1475
1476         * editing/TextIterator.cpp:
1477         (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Enhanced the check for nodes that
1478         cannot contain VisiblePosition to also check for zero-height blocks.
1479
1480 2012-08-21  'Pavel Feldman'  <pfeldman@chromium.org>
1481
1482         Web Inspector: break on exceptions decoration was lost, restoring.
1483
1484         Not reviewed - a follow up to 126012.
1485
1486         * inspector/front-end/ScriptsPanel.js:
1487         (WebInspector.ScriptsPanel.prototype._pauseOnExceptionStateChanged.get switch):
1488         (WebInspector.ScriptsPanel.prototype._pauseOnExceptionStateChanged):
1489
1490 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1491
1492         Unreviewed, rolling out r126146.
1493         http://trac.webkit.org/changeset/126146
1494         https://bugs.webkit.org/show_bug.cgi?id=94606
1495
1496         It made all tests assert (Requested by Ossy on #webkit).
1497
1498         * bridge/qt/qt_runtime.cpp:
1499         (JSC::Bindings::prototypeForSignalsAndSlots):
1500         (JSC::Bindings::QtRuntimeMethod::call):
1501         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
1502         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
1503         * bridge/qt/qt_runtime.h:
1504         (QtRuntimeMethod):
1505
1506 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1507
1508         Unreviewed, rolling out r126150.
1509         http://trac.webkit.org/changeset/126150
1510         https://bugs.webkit.org/show_bug.cgi?id=94605
1511
1512         Breaks 73 layout tests on chromium.webkit builder (Requested
1513         by pfeldman on #webkit).
1514
1515         * UseV8.cmake:
1516         * WebCore.gypi:
1517         * bindings/v8/V8Binding.cpp:
1518         (StringTraits):
1519         (WebCore):
1520         (WebCore::v8StringToWebCoreString):
1521         (WebCore::int32ToWebCoreStringFast):
1522         (WebCore::int32ToWebCoreString):
1523         * bindings/v8/V8Binding.h:
1524         (WebCore):
1525         (V8ParameterBase):
1526         (WebCore::V8ParameterBase::operator String):
1527         (WebCore::V8ParameterBase::operator AtomicString):
1528         (WebCore::V8ParameterBase::V8ParameterBase):
1529         (WebCore::V8ParameterBase::prepareBase):
1530         (WebCore::V8ParameterBase::object):
1531         (WebCore::V8ParameterBase::setString):
1532         (WebCore::V8ParameterBase::toString):
1533         (WebCore::::prepare):
1534         * bindings/v8/V8StringResource.cpp: Removed.
1535         * bindings/v8/V8StringResource.h: Removed.
1536
1537 2012-08-21  Philippe Normand  <pnormand@igalia.com>
1538
1539         Early returns in MediaPlayer setters
1540         https://bugs.webkit.org/show_bug.cgi?id=87304
1541
1542         Calls to the MediaPlayerPrivate implementation can be avoided if
1543         the value to set and the current value are equal.
1544
1545         Reviewed by Eric Carlson.
1546
1547         * platform/graphics/MediaPlayer.cpp:
1548         (WebCore::MediaPlayer::loadWithNextMediaEngine): Once a new
1549         MediaPlayerPrivate has been created propagate the playback rate
1550         value to it, as it is done for some other attributes like preload
1551         or preservePitch.
1552         (WebCore::MediaPlayer::setVolume): Perform action only if current
1553         and new values differ.
1554         (WebCore::MediaPlayer::setMuted): Ditto.
1555         (WebCore::MediaPlayer::setPreservesPitch): Ditto.
1556         (WebCore::MediaPlayer::setSize): Ditto.
1557         (WebCore::MediaPlayer::setVisible): Ditto.
1558         (WebCore::MediaPlayer::setPreload): Ditto.
1559
1560 2012-08-21  Ilya Tikhonovsky  <loislo@chromium.org>
1561
1562         Web Inspector: NMI: OwnPtr<T> was counted as RefPtr<T>
1563         https://bugs.webkit.org/show_bug.cgi?id=94599
1564
1565         Reviewed by Yury Semikhatsky.
1566
1567         * dom/MemoryInstrumentation.h:
1568         (WebCore::MemoryObjectInfo::MemoryObjectInfo):
1569         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
1570         (WebCore::MemoryInstrumentation::addObjectImpl):
1571
1572 2012-08-21  Ilya Tikhonovsky  <loislo@chromium.org>
1573
1574         Web Inspector: NMI: rename addMember for strings and KURL to addInstrumentedMember.
1575         https://bugs.webkit.org/show_bug.cgi?id=94580
1576
1577         Reviewed by Yury Semikhatsky.
1578
1579         Drive by fix: immutable ElementAttrybuteData uses the same trick with placement new as in StylePropertySet.
1580
1581         * css/CSSCanvasValue.cpp:
1582         (WebCore::CSSCanvasValue::reportDescendantMemoryUsage):
1583         * css/CSSCharsetRule.cpp:
1584         (WebCore::CSSCharsetRule::reportDescendantMemoryUsage):
1585         * css/CSSFontFaceSrcValue.cpp:
1586         (WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage):
1587         * css/CSSFunctionValue.cpp:
1588         (WebCore::CSSFunctionValue::reportDescendantMemoryUsage):
1589         * css/CSSImageSetValue.cpp:
1590         (WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage):
1591         * css/CSSImageValue.cpp:
1592         (WebCore::CSSImageValue::reportDescendantMemoryUsage):
1593         * css/CSSPrimitiveValue.cpp:
1594         (WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
1595         * css/CSSStyleSheet.cpp:
1596         (WebCore::CSSStyleSheet::reportMemoryUsage):
1597         * css/CSSValue.cpp:
1598         (WebCore::TextCloneCSSValue::reportDescendantMemoryUsage):
1599         * css/CSSVariableValue.h:
1600         (WebCore::CSSVariableValue::reportDescendantMemoryUsage):
1601         * css/FontFeatureValue.cpp:
1602         (WebCore::FontFeatureValue::reportDescendantMemoryUsage):
1603         * css/MediaQuery.cpp:
1604         (WebCore::MediaQuery::reportMemoryUsage):
1605         * css/MediaQueryExp.cpp:
1606         (WebCore::MediaQueryExp::reportMemoryUsage):
1607         * css/StyleRuleImport.cpp:
1608         (WebCore::StyleRuleImport::reportDescendantMemoryUsage):
1609         * css/StyleSheetContents.cpp:
1610         (WebCore::StyleSheetContents::reportMemoryUsage):
1611         * css/WebKitCSSKeyframeRule.cpp:
1612         (WebCore::StyleKeyframe::reportMemoryUsage):
1613         * css/WebKitCSSKeyframesRule.cpp:
1614         (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
1615         * css/WebKitCSSSVGDocumentValue.cpp:
1616         (WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage):
1617         * css/WebKitCSSShaderValue.cpp:
1618         (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
1619         * dom/Attribute.h:
1620         (WebCore::Attribute::reportMemoryUsage):
1621         * dom/CharacterData.cpp:
1622         (WebCore::CharacterData::reportMemoryUsage):
1623         * dom/Document.cpp:
1624         (WebCore::Document::reportMemoryUsage):
1625         * dom/ElementAttributeData.cpp:
1626         (WebCore::immutableElementAttributeDataSize):
1627         (WebCore):
1628         (WebCore::ElementAttributeData::createImmutable):
1629         (WebCore::ElementAttributeData::reportMemoryUsage):
1630         * dom/Event.cpp:
1631         (WebCore::Event::reportMemoryUsage):
1632         * dom/MemoryInstrumentation.cpp:
1633         (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
1634         * dom/MemoryInstrumentation.h:
1635         (MemoryInstrumentation):
1636         * dom/QualifiedName.h:
1637         (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
1638         * loader/DocumentLoader.cpp:
1639         (WebCore::DocumentLoader::reportMemoryUsage):
1640         * loader/FrameLoader.cpp:
1641         (WebCore::FrameLoader::reportMemoryUsage):
1642         * loader/SubstituteData.cpp:
1643         (WebCore::SubstituteData::reportMemoryUsage):
1644         * loader/cache/CachedCSSStyleSheet.cpp:
1645         (WebCore::CachedCSSStyleSheet::reportMemoryUsage):
1646         * loader/cache/CachedResource.cpp:
1647         (WebCore::CachedResource::reportMemoryUsage):
1648         * loader/cache/CachedResourceLoader.cpp:
1649         (WebCore::CachedResourceLoader::reportMemoryUsage):
1650         * loader/cache/CachedScript.cpp:
1651         (WebCore::CachedScript::reportMemoryUsage):
1652         * loader/cache/CachedShader.cpp:
1653         (WebCore::CachedShader::reportMemoryUsage):
1654         * loader/cache/CachedXSLStyleSheet.cpp:
1655         (WebCore::CachedXSLStyleSheet::reportMemoryUsage):
1656         * loader/cache/MemoryCache.cpp:
1657         (WebCore::MemoryCache::reportMemoryUsage):
1658         * platform/network/ResourceRequestBase.cpp:
1659         (WebCore::ResourceRequestBase::reportMemoryUsage):
1660         * platform/network/ResourceResponseBase.cpp:
1661         (WebCore::ResourceResponseBase::reportMemoryUsage):
1662         * rendering/style/StyleRareInheritedData.cpp:
1663         (WebCore::StyleRareInheritedData::reportMemoryUsage):
1664         * rendering/style/StyleRareNonInheritedData.cpp:
1665         (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
1666         * svg/SVGPaint.cpp:
1667         (WebCore::SVGPaint::reportDescendantMemoryUsage):
1668
1669 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1670
1671         [V8] Move String related code in V8Binding to a separate file
1672         https://bugs.webkit.org/show_bug.cgi?id=94571
1673
1674         Reviewed by Adam Barth.
1675
1676         This patch moves V8Parameter, V8ParameterBase and String related code
1677         in V8Binding to a separate file.
1678
1679         No tests. No change in behavior.
1680
1681         * UseV8.cmake:
1682         * WebCore.gypi:
1683         * bindings/v8/V8Binding.cpp:
1684         * bindings/v8/V8Binding.h:
1685         * bindings/v8/V8StringResource.cpp: Added.
1686         * bindings/v8/V8StringResource.h: Added.
1687         (WebCore):
1688
1689 2012-08-17  Simon Hausmann  <simon.hausmann@nokia.com>
1690
1691         [Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
1692         https://bugs.webkit.org/show_bug.cgi?id=93897
1693
1694         Reviewed by Kenneth Rohde Christiansen.
1695
1696         Before r125428 run-time methods (wrapped signals, slots or invokable functions) were subclasses of
1697         JSInternalFunction and therefore real function objects in the JavaScript sense. r125428 changed them
1698         to be just callable objects, but they did not have Function.prototype as prototype anymore for example
1699         nor was their name correct (resulting in a layout test failure).
1700
1701         This patch changes run-time methods back to being real function objects that have a correct name and
1702         have Function.prototype in their prototype change
1703
1704         The objects returned by JSObjectMakeFunctionWithCallbackInjected are light-weight internal function objects
1705         that do not support JSObject{Set/Get}Private. Therefore we inject our own prototype right before the
1706         Function.prototype prototype, which uses private data to store a pointer to our C++ QtRuntimeMethod object.
1707         This complicates the retrieval of the pointer to that instance slightly, which is why this patch introduces
1708         the toRuntimeMethod convenience function that looks up our prototype first and does a check for type-safety.
1709
1710         At the same time the patch removes the length properties from the run-time method itself as well as connect/disconnect.
1711         The length property on a function signifies the number of arguments, but in all three cases that number is
1712         actually variable, because of overloading. That is why we choose not to expose it in the first place.
1713
1714         * bridge/qt/qt_runtime.cpp:
1715         (JSC::Bindings::prototypeForSignalsAndSlots):
1716         (JSC::Bindings::QtRuntimeMethod::call):
1717         (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
1718         (JSC::Bindings::QtRuntimeMethod::toRuntimeMethod):
1719         (Bindings):
1720         (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
1721         * bridge/qt/qt_runtime.h:
1722         (QtRuntimeMethod): Remove unused member variables.
1723
1724 2012-08-21  Simon Hausmann  <simon.hausmann@nokia.com>
1725
1726         Unreviewed build fix for newer Qt 5 versions: QVariant::WidgetStar has been removed,
1727         but fortunately QMetaType has a much more powerful function available for us to use.
1728
1729         Thanks to Jedrzej Nowacki for the hint :)
1730
1731         * bridge/qt/qt_runtime.cpp:
1732         (JSC::Bindings::convertQVariantToValue):
1733
1734 2012-08-21  Kentaro Hara  <haraken@chromium.org>
1735
1736         [V8] Remove String::New() from V8 binding (Part 1)
1737         https://bugs.webkit.org/show_bug.cgi?id=94574
1738
1739         Reviewed by Adam Barth.
1740
1741         Currently, V8 binding mixes String::New(), String::NewSymbol() and v8String().
1742         String::New() should be replaced with String::NewSymbol() or v8String(),
1743         depending on use cases:
1744
1745         - If it is a symbol (e.g. attribute name, constant string, etc),
1746         String::NewSymbol() should be used. Cache of created symbols is managed by V8.
1747
1748         - If it is not a symbol, v8String() should be used. Cache of created strings
1749         is managed by V8 binding (i.e. StringCache class).
1750
1751         This patch replaces String::New() for symbols with String::NewSymbol().
1752
1753         No tests. No change in behavior.
1754
1755         * bindings/scripts/CodeGeneratorV8.pm:
1756         (GenerateNamedConstructorCallback):
1757         (GenerateNonStandardFunction):
1758         (GenerateImplementation):
1759         * bindings/scripts/test/V8/V8Float64Array.cpp:
1760         (WebCore::ConfigureV8Float64ArrayTemplate):
1761         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1762         (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
1763         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1764         (WebCore::ConfigureV8TestEventTargetTemplate):
1765         * bindings/scripts/test/V8/V8TestInterface.cpp:
1766         (WebCore::ConfigureV8TestInterfaceTemplate):
1767         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1768         (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
1769         * bindings/scripts/test/V8/V8TestObj.cpp:
1770         (WebCore::ConfigureV8TestObjTemplate):
1771         (WebCore::V8TestObj::installPerContextProperties):
1772         * bindings/v8/V8DOMConfiguration.cpp:
1773         (WebCore::V8DOMConfiguration::batchConfigureConstants):
1774         (WebCore::V8DOMConfiguration::batchConfigureCallbacks):
1775         (WebCore::V8DOMConfiguration::configureTemplate):
1776         * bindings/v8/V8DOMConfiguration.h:
1777         (WebCore::V8DOMConfiguration::configureAttribute):
1778
1779 2012-08-21  Sheriff Bot  <webkit.review.bot@gmail.com>
1780
1781         Unreviewed, rolling out r126028.
1782         http://trac.webkit.org/changeset/126028
1783         https://bugs.webkit.org/show_bug.cgi?id=94576
1784
1785         it broke compilation on apple webkit win. (Requested by loislo
1786         on #webkit).
1787
1788         * inspector/CodeGeneratorInspector.py:
1789         * inspector/InjectedScriptWebGLModule.cpp:
1790         (WebCore::InjectedScriptWebGLModule::captureFrame):
1791         * inspector/InjectedScriptWebGLModule.h:
1792         (InjectedScriptWebGLModule):
1793         * inspector/Inspector.json:
1794         * inspector/InspectorController.cpp:
1795         (WebCore::InspectorController::InspectorController):
1796         * inspector/InspectorWebGLAgent.cpp:
1797         (WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
1798         * inspector/InspectorWebGLAgent.h:
1799         (WebCore):
1800         (WebCore::InspectorWebGLAgent::create):
1801         (InspectorWebGLAgent):
1802
1803 2012-08-20  Ilya Tikhonovsky  <loislo@chromium.org>
1804
1805         Web Inspector: NMI: wrong size was reported for immutable StylePropertySet
1806         https://bugs.webkit.org/show_bug.cgi?id=94489
1807
1808         Reviewed by Yury Semikhatsky.
1809
1810         Immutable StylePropertySet is created via placement new.
1811         The rest of the allocated buffer is used as an array of CSSProperty.
1812         This means that we don't need to report m_properties member but have to report actual size of the buffer
1813         used for both, the object and CSSProperty array.
1814
1815         * css/StylePropertySet.cpp:
1816         (WebCore::immutableStylePropertySetSize):
1817         (WebCore):
1818         (WebCore::StylePropertySet::createImmutable):
1819         (WebCore::StylePropertySet::reportMemoryUsage):
1820         * dom/MemoryInstrumentation.h:
1821         (WebCore::MemoryObjectInfo::reportObjectInfo):
1822         (WebCore::MemoryClassInfo::MemoryClassInfo):
1823
1824 2012-08-20  Kentaro Hara  <haraken@chromium.org>
1825
1826         [V8] Move handleOutOfMemory() from V8Proxy to V8Binding
1827         https://bugs.webkit.org/show_bug.cgi?id=94563
1828
1829         Reviewed by Adam Barth.
1830
1831         To kill V8Proxy, this patch moves handleOutOfMemory() from V8Proxy to V8Binding.
1832
1833         No tests. No change in behavior.
1834
1835         * bindings/v8/V8AbstractEventListener.cpp:
1836         (WebCore::V8AbstractEventListener::invokeEventHandler):
1837         * bindings/v8/V8Binding.cpp:
1838         (WebCore::handleOutOfMemory):
1839         (WebCore):
1840         * bindings/v8/V8Binding.h:
1841         (WebCore):
1842         * bindings/v8/V8Proxy.cpp:
1843         * bindings/v8/V8Proxy.h:
1844         (V8Proxy):
1845         * bindings/v8/WorkerContextExecutionProxy.cpp:
1846         (WebCore::WorkerContextExecutionProxy::runScript):
1847
1848 2012-08-20  MORITA Hajime  <morrita@google.com>
1849
1850         InsertionShouldCallDidNotifyDescendantInsertions should be merged to InsertionShouldCallDidNotifySubtreeInsertions
1851         https://bugs.webkit.org/show_bug.cgi?id=94570
1852
1853         Reviewed by Ryosuke Niwa.
1854
1855         Node::didNotifySubtreeInsertions() and Node::didNotifyDescendantInsertions() are used for similar purpose and
1856         we could unify them to the safer one, which is didNotifySubtreeInsertions().
1857
1858         This change replaces the last didNotifyDescendantInsertions() implementation in HTMLBodyElement with didNotifySubtreeInsertions()
1859         then eliminates related code which is no longer used.
1860
1861         No new tests. Covered by existing tests.
1862
1863         * dom/ContainerNodeAlgorithms.h:
1864         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
1865         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
1866         * dom/Node.h: Removed didNotifyDescendantInsertions() stub and InsertionShouldCallDidNotifyDescendantInsertions enum value.
1867         * html/HTMLBodyElement.cpp:
1868         (WebCore::HTMLBodyElement::insertedInto):
1869         (WebCore::HTMLBodyElement::didNotifySubtreeInsertions): morphed from didNotifyDescendantInsertions()
1870         * html/HTMLBodyElement.h:
1871         (HTMLBodyElement):
1872         * html/HTMLFormElement.cpp:
1873         (WebCore::HTMLFormElement::insertedInto): Remove useless InsertionShouldCallDidNotifyDescendantInsertions return statement.
1874
1875 2012-08-20  Rob Buis  <rbuis@rim.com>
1876
1877         Reduce GradientAttributes object size
1878         https://bugs.webkit.org/show_bug.cgi?id=86151
1879
1880         Reviewed by Eric Seidel.
1881
1882         This reduces GradientAttributes in memory size by 8 bytes on my 64-bit system. It also
1883         reduces the size of RenderSVGResourceLinearGradient and RenderSVGResourceRadialGradient.
1884
1885         * svg/GradientAttributes.h:
1886         (WebCore::GradientAttributes::spreadMethod):
1887         (WebCore::GradientAttributes::gradientUnits):
1888         (GradientAttributes):
1889         (WebCore):
1890         (SameSizeAsGradientAttributes):
1891
1892 2012-08-20  Keishi Hattori  <keishi@webkit.org>
1893
1894         Clicking input type=range with padding or border sets wrong value
1895         https://bugs.webkit.org/show_bug.cgi?id=94473
1896
1897         Reviewed by Kent Tamura.
1898
1899         We should take the padding and border width into account when calculating the value from the mouse location.
1900
1901         Test: fast/forms/range/range-hit-test-with-padding.html
1902
1903         * html/shadow/SliderThumbElement.cpp:
1904         (WebCore::sliderTrackElementOf):
1905         (WebCore):
1906         (WebCore::SliderThumbElement::setPositionFromPoint):
1907         * html/shadow/SliderThumbElement.h:
1908         (WebCore):
1909
1910 2012-08-20  MORITA Hajime  <morrita@google.com>
1911
1912         load event shouldn't fired during node insertion traversals.
1913         https://bugs.webkit.org/show_bug.cgi?id=94447
1914
1915         Reviewed by Ryosuke Niwa.
1916
1917         HTMLFrameElementBase::didNotifyDescendantInsertions() with empty @src
1918         can trigger a load event during ChildNodeInsertionNotifier
1919         traversal, whose handler can make DOM tree state inconsistent.
1920
1921         This change introduces a post traversal hook,
1922         didNotifySubtreeInsertions(), for the insertion traversal and
1923         replaces the problematic didNotifyDescendantInsertions() with it.
1924
1925         Since didNotifySubtreeInsertions() is invoked after the traversal,
1926         it is safe for event handlers to mutate the tree.
1927
1928         Test: fast/frames/iframe-onload-and-domnodeinserted.html
1929
1930         * dom/ContainerNodeAlgorithms.h:
1931         (ChildNodeInsertionNotifier): Added a post subtree notification.
1932         (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
1933         (WebCore::ChildNodeInsertionNotifier::notify):
1934         * dom/Node.h:
1935         (WebCore::Node::didNotifySubtreeInsertions): Newly added.
1936         * html/HTMLFrameElementBase.cpp:
1937         (WebCore::HTMLFrameElementBase::insertedInto): Now returns InsertionShouldCallDidNotifySubtreeInsertions
1938         (WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions): Replaced didNotifyDescendantInsertions()
1939         * html/HTMLFrameElementBase.h:
1940         (HTMLFrameElementBase):
1941
1942 2012-08-20  Shinya Kawanaka  <shinyak@chromium.org> 
1943
1944         Regression(r126127): Build break on multiple platforms
1945         https://bugs.webkit.org/show_bug.cgi?id=94568
1946
1947         Reviewed by Hajime Morita.
1948
1949         Notation::cloneNode should also have ExceptionCode. We add it in this patch.
1950
1951         No new tests, no change in behavior.
1952
1953         * dom/Notation.cpp:
1954         (WebCore::Notation::cloneNode):
1955         * dom/Notation.h:
1956         (Notation):
1957
1958 2012-08-20  Shinya Kawanaka  <shinyak@chromium.org>
1959
1960         ShadowRoot.cloneNode() must always throw a DATA_CLONE_ERR exception.
1961         https://bugs.webkit.org/show_bug.cgi?id=91704
1962
1963         Reviewed by Dimitri Glazkov.
1964
1965         According to the spec, ShadowRoot.cloneNode() should throw a DATA_CLONE_ERR exception. The existing implementation
1966         returned null object instead.
1967
1968         We change the cloneNode() interface so that we can throw an exception from cloneNode().
1969
1970         Test: fast/dom/shadow/shadowroot-clonenode.html
1971
1972         * dom/Attr.cpp:
1973         (WebCore::Attr::cloneNode):
1974         * dom/Attr.h:
1975         * dom/CDATASection.cpp:
1976         (WebCore::CDATASection::cloneNode):
1977         * dom/CDATASection.h:
1978         (CDATASection):
1979         * dom/Comment.cpp:
1980         (WebCore::Comment::cloneNode):
1981         * dom/Comment.h:
1982         (Comment):
1983         * dom/Document.cpp:
1984         (WebCore::Document::cloneNode):
1985         * dom/Document.h:
1986         (Document):
1987         * dom/DocumentFragment.cpp:
1988         (WebCore::DocumentFragment::cloneNode):
1989         * dom/DocumentFragment.h:
1990         (DocumentFragment):
1991         * dom/DocumentType.cpp:
1992         (WebCore::DocumentType::cloneNode):
1993         * dom/DocumentType.h:
1994         (DocumentType):
1995         * dom/Element.cpp:
1996         (WebCore::Element::cloneNode):
1997         * dom/Element.h:
1998         (Element):
1999         * dom/EntityReference.cpp:
2000         (WebCore::EntityReference::cloneNode):
2001         * dom/EntityReference.h:
2002         (EntityReference):
2003         * dom/Node.h:
2004         (Node):
2005         (WebCore::Node::cloneNode):
2006         * dom/Node.idl:
2007         * dom/ProcessingInstruction.cpp:
2008         (WebCore::ProcessingInstruction::cloneNode):
2009         * dom/ProcessingInstruction.h:
2010         (ProcessingInstruction):
2011         * dom/ShadowRoot.cpp:
2012         (WebCore::ShadowRoot::cloneNode):
2013         * dom/ShadowRoot.h:
2014         (ShadowRoot):
2015         * dom/Text.cpp:
2016         (WebCore::Text::cloneNode):
2017         * dom/Text.h:
2018         (Text):
2019
2020 2012-08-20  Kent Tamura  <tkent@chromium.org>
2021
2022         [Chromium-win] Use native digits in parsing/formatting dates in the textfield part of input[type=date]
2023         https://bugs.webkit.org/show_bug.cgi?id=94281
2024
2025         Reviewed by Hajime Morita.
2026
2027         Tests: Add some cases to Source/WebKit/chromium/tests/LocaleWinTest.cpp
2028
2029         * platform/text/LocaleWin.cpp:
2030         (WebCore::LocaleWin::isLocalizedDigit): A helper for parseNumber(). This
2031         return true if the specified character is one of native digits.
2032         (WebCore::LocaleWin::parseNumber):
2033         Try to parse ASCII digits, then try to parse native digtis. This
2034         becomes a member of LocaleWin because it uses
2035         convertFromLocalizedNumber().
2036         (WebCore::LocaleWin::appendNumber): Apply convertToLocalizedNumber().
2037         (WebCore::LocaleWin::appendTwoDigitsNumber): ditto.
2038         (WebCore::LocaleWin::appendFourDigitsNumber): ditto.
2039         * platform/text/LocaleWin.h:
2040         (LocaleWin):
2041         - Make some static functions member functions of LocaleWin.
2042         - Add isLocalizedDigit().
2043
2044 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2045
2046         Rename collectGarbageIfNecessary() to hintForCollectGarbage()
2047         https://bugs.webkit.org/show_bug.cgi?id=94455
2048
2049         Reviewed by Adam Barth.
2050
2051         This is a follow-up patch for r126098.
2052
2053         collectGarbage() always collects garbage. collectGarbageIfNecessary() just sends
2054         an idle notification to V8, which is just a hint for V8 to trigger GC.
2055         To clarify the difference, this patch renames collectGarbageIfNecessary()
2056         to hintForCollectGarbage().
2057
2058         No tests. No change in behavior.
2059
2060         * bindings/v8/ScriptController.cpp:
2061         (WebCore::ScriptController::clearForClose):
2062         (WebCore::ScriptController::clearForNavigation):
2063         * bindings/v8/V8GCController.cpp:
2064         (WebCore::V8GCController::hintForCollectGarbage):
2065         * bindings/v8/V8GCController.h:
2066         (V8GCController):
2067
2068 2012-08-20  Alexandre Elias  <aelias@google.com>
2069
2070         [chromium] Texture layer should not generate zero textureId quads
2071         https://bugs.webkit.org/show_bug.cgi?id=94550
2072
2073         Reviewed by Adrienne Walker.
2074
2075         After a context loss, CCTextureLayerImpl would clear its textureId
2076         but continued to produce external resources and quads with the zero
2077         textureid.  Add early returns so that CCTextureLayerImpl becomes
2078         inert after a context loss.
2079
2080         Added assertion in read lock so that dontUseOldResourcesAfterLostContext
2081         test catches the problem.
2082
2083         * platform/graphics/chromium/cc/CCResourceProvider.h:
2084         (WebCore::CCScopedLockResourceForRead::CCScopedLockResourceForRead):
2085         * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
2086         (WebCore::CCTextureLayerImpl::willDraw):
2087         (WebCore::CCTextureLayerImpl::appendQuads):
2088         (WebCore::CCTextureLayerImpl::didDraw):
2089         (WebCore::CCTextureLayerImpl::didLoseContext):
2090
2091 2012-08-20  Kent Tamura  <tkent@chromium.org>
2092
2093         [Chromium] Make the popup positioning code testable
2094         https://bugs.webkit.org/show_bug.cgi?id=94086
2095
2096         Reviewed by Hajime Morita.
2097
2098         Introduce PopupContent interface in order to make a mock.
2099
2100         * platform/chromium/PopupContainer.cpp:
2101         (WebCore::PopupContainer::layoutAndCalculateWidgetRectInternal):
2102          - Make it a member of PopupContainer to avoid namespace pollution.
2103          - Use PopupContent interface.
2104          - Make the code clearer.
2105         * platform/chromium/PopupContainer.h:
2106         (PopupContainer): Expose layoutAndCalculateWidgetRectInternal.
2107
2108         * platform/chromium/PopupListBox.cpp:
2109         (WebCore::PopupListBox::popupContentHeight): Added.
2110         * platform/chromium/PopupListBox.h:
2111         (PopupContent): Added.
2112         (PopupListBox): Inherit PopupContent.
2113         (WebCore::PopupListBox::~PopupListBox):
2114         Make this virtual because this class has some virtual functions.
2115
2116 2012-08-20  Tom Sepez  <tsepez@chromium.org>
2117
2118         XSSAuditor too tolerant of injected data: URLs from other "hostless" schemes.
2119         https://bugs.webkit.org/show_bug.cgi?id=94547
2120
2121         Reviewed by Adam Barth.
2122
2123         Check that there is a host before making same-host tests.
2124
2125         Test: fast/frames/xss-auditor-handles-file-urls.html
2126
2127         * html/parser/XSSAuditor.cpp:
2128         (WebCore::XSSAuditor::eraseAttributeIfInjected):
2129         (WebCore::XSSAuditor::isLikelySafeResource):
2130         * html/parser/XSSAuditor.h:
2131
2132 2012-08-20  Elliott Sprehn  <esprehn@chromium.org>
2133
2134         Removed dead code from a very old iteration of CSS counters.
2135         https://bugs.webkit.org/show_bug.cgi?id=94539
2136
2137         Reviewed by Eric Seidel.
2138
2139         Remove two unused shorts that were on StyleRareNonInheritedData that are no longer used.
2140
2141         No tests, this just removes dead code.
2142
2143         * rendering/style/RenderStyle.cpp:
2144         (WebCore::RenderStyle::diff):
2145         * rendering/style/RenderStyle.h:
2146         * rendering/style/StyleRareNonInheritedData.cpp:
2147         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2148         (WebCore::StyleRareNonInheritedData::operator==):
2149         * rendering/style/StyleRareNonInheritedData.h:
2150         (StyleRareNonInheritedData):
2151
2152 2012-08-20  Luke Macpherson   <macpherson@chromium.org>
2153
2154         Fix inspector with variables enabled and enable inspector variables tests by default.
2155         https://bugs.webkit.org/show_bug.cgi?id=94296
2156
2157         Reviewed by Hajime Morita.
2158
2159         Change from using getPropertyName static function to CSSProperty::cssName(), which can resolve variables if needed.
2160
2161         Covered by inspector/styles/variables.
2162
2163         * css/PropertySetCSSStyleDeclaration.cpp:
2164         (WebCore::PropertySetCSSStyleDeclaration::item):
2165
2166 2012-08-20  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
2167
2168         Cancel the outstanding vibration pattern if the pattern is 0 or an empty list
2169         https://bugs.webkit.org/show_bug.cgi?id=94085
2170
2171         Reviewed by Kentaro Hara.
2172
2173         vibrate() method to stop the device from vibrating is getting called before the
2174         vibration is in effect. Hence, it is failing to cancel the pre-existing instance
2175         of processing vibration patterns. 
2176
2177         This patch cancel the pre-existing instance of the processing vibration patterns
2178         always when the vibrate() method called with pattern 0 or an empty list.
2179
2180         No new tests since there is no return value in the Vibration API to test this
2181         particular case. Existing test fast/dom/navigator-vibration.html covers testing of
2182         the Vibration API.
2183
2184         * Modules/vibration/Vibration.cpp:
2185         (WebCore::Vibration::vibrate):
2186
2187 2012-08-20  Adam Klein  <adamk@chromium.org>
2188
2189         Allow MutationEvents to be enabled/disabled per context
2190         https://bugs.webkit.org/show_bug.cgi?id=94016
2191
2192         Reviewed by Ojan Vafai.
2193
2194         Chromium wants to be able to turn MutationEvents off for some
2195         Documents (e.g., for Apps V2). This patch makes the firing (and the
2196         constructor on DOMWindow) of MutationEvents a per-context feature, with
2197         the default being enabled.
2198
2199         No functional change (since the feature defaults to enabled).
2200         It's not clear to me that there's a way to test this in DRT without
2201         adding a special hook for this one feature. It will be tested in
2202         Chromium once it's implemented in Chromium.
2203
2204         * dom/ContextFeatures.cpp:
2205         (WebCore::ContextFeatures::mutationEventsEnabled): Add new method,
2206         with the default being enabled.
2207         * dom/ContextFeatures.h:
2208         * dom/Document.cpp:
2209         (WebCore::Document::addMutationEventListenerTypeIfEnabled): Add new
2210         method that checks the ContextFeature flag before adding the passed-in
2211         listener type.
2212         (WebCore::Document::addListenerTypeIfNeeded): Call the new method
2213         instead of addListenerType for MutationEvent types.
2214         * dom/Document.h:
2215         (WebCore::Document::addListenerType): Make private to avoid anyone
2216         outside Document from enabling MutationEvent listeners. All callers
2217         must go through addListenerTypeIfNeeded.
2218
2219 2012-08-20  Levi Weintraub  <leviw@chromium.org>
2220
2221         [Sub-pixel Layout] Block selection gap repainting can leave one pixel gaps
2222         https://bugs.webkit.org/show_bug.cgi?id=94526
2223
2224         Reviewed by Eric Seidel.
2225
2226         Reverting RenderLayer's m_blockSelectionGapsBounds to be an IntRect and applying enclosingIntRect to the
2227         gapRects added to the bounds. Previously, we'd end multiple block gaps and pixel snap the result, which
2228         can yield results one pixel off in width and height.
2229
2230         Covered by existing tests. This undoes some of the rebaselining from when sub-pixel was enabled for Chromium.
2231
2232         * rendering/RenderLayer.cpp:
2233         * rendering/RenderLayer.h:
2234
2235 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2236
2237         [V8] Move instrumentedCallFunction() from V8Proxy to ScriptController
2238         https://bugs.webkit.org/show_bug.cgi?id=94456
2239
2240         Reviewed by Adam Barth.
2241
2242         To kill V8Proxy, this patch moves instrumentedCallFunction() from V8Proxy
2243         to ScriptController. Also this patch renames instrumentedCallFunction()
2244         to callFunctionWithInstrumentation(), for consistency with callFunction().
2245
2246         No tests. No change in behavior.
2247
2248         * bindings/v8/ScriptController.cpp:
2249         (WebCore::ScriptController::callFunction):
2250         (WebCore):
2251         (WebCore::handleMaxRecursionDepthExceeded):
2252         (WebCore::resourceInfo):
2253         (WebCore::resourceString):
2254         (WebCore::ScriptController::callFunctionWithInstrumentation):
2255         * bindings/v8/ScriptController.h:
2256         (ScriptController):
2257         * bindings/v8/ScriptFunctionCall.cpp:
2258         (WebCore::ScriptCallback::call):
2259         * bindings/v8/V8Callback.cpp:
2260         (WebCore::invokeCallback):
2261         * bindings/v8/V8NodeFilterCondition.cpp:
2262         (WebCore::V8NodeFilterCondition::acceptNode):
2263         * bindings/v8/V8Proxy.cpp:
2264         (WebCore):
2265         * bindings/v8/V8Proxy.h:
2266         (V8Proxy):
2267         * bindings/v8/V8WindowErrorHandler.cpp:
2268         (WebCore::V8WindowErrorHandler::callListenerFunction):
2269         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
2270         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
2271
2272 2012-08-20  Elliott Sprehn  <esprehn@chromium.org>
2273
2274         Never notify of insertedIntoTree during document destruction.
2275         https://bugs.webkit.org/show_bug.cgi?id=94535
2276
2277         Reviewed by Eric Seidel.
2278
2279         Never notify of insertedIntoTree during document destruction. Previously since we
2280         avoid notifying of willBeRemovedFromTree it's possible we could have gotten several
2281         insertedIntoTree notifications without ever being told we were removed.
2282
2283         No tests needed since this just closes holes related to future code.
2284
2285         * rendering/RenderObjectChildList.cpp:
2286         (WebCore::RenderObjectChildList::appendChildNode): Never call insertedIntoTree during document destruction.
2287         (WebCore::RenderObjectChildList::insertChildNode): Same.
2288         * rendering/RenderRegion.cpp:
2289         (WebCore::RenderRegion::attachRegion): Removed unneeded document destruction check.
2290
2291 2012-08-20  James Robinson  <jamesr@chromium.org>
2292
2293         [chromium] Initialize GraphicsLayerChromium::m_contentsLayerId when setting contents layer
2294         https://bugs.webkit.org/show_bug.cgi?id=94552
2295
2296         Reviewed by Kenneth Russell.
2297
2298         Set it or it don't work good.
2299
2300         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2301         (WebCore::GraphicsLayerChromium::setupContentsLayer):
2302
2303 2012-08-20  Rik Cabanier  <cabanier@adobe.com>
2304
2305         parse CSS attribute -webkit-blend-mode
2306         https://bugs.webkit.org/show_bug.cgi?id=94024
2307  
2308         Reviewed by Dirk Schulze.
2309
2310         Added parsing and general CSS handling of -webkit-blend-mode per http://www.w3.org/TR/2012/WD-compositing-20120816/
2311
2312         Tests: css3/compositing/blend-mode-property-parsing-invalid.html
2313                css3/compositing/blend-mode-property-parsing.html
2314                css3/compositing/blend-mode-property.html
2315
2316         * css/CSSComputedStyleDeclaration.cpp:
2317         (WebCore):
2318         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2319         * css/CSSParser.cpp:
2320         (WebCore::isValidKeywordPropertyAndValue):
2321         (WebCore::isKeywordPropertyID):
2322         (WebCore::CSSParser::parseValue):
2323         * css/CSSProperty.cpp:
2324         (WebCore::CSSProperty::isInheritedProperty):
2325         * css/CSSPropertyNames.in:
2326         * css/CSSValueKeywords.in:
2327         * css/StyleBuilder.cpp:
2328         (WebCore::StyleBuilder::StyleBuilder):
2329         * rendering/RenderLayer.h:
2330         (RenderLayer):
2331         * rendering/RenderLayerBacking.cpp:
2332         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
2333         (WebCore):
2334         (WebCore::RenderLayerBacking::updateLayerBlendMode):
2335         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
2336         (WebCore::RenderLayerBacking::setBlendMode):
2337         * rendering/RenderLayerBacking.h:
2338         (RenderLayerBacking):
2339         * rendering/style/RenderStyle.cpp:
2340         (WebCore::RenderStyle::diff):
2341         * rendering/style/RenderStyle.h:
2342         * rendering/style/StyleRareNonInheritedData.cpp:
2343         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2344         (WebCore::StyleRareNonInheritedData::operator==):
2345         * rendering/style/StyleRareNonInheritedData.h:
2346         (StyleRareNonInheritedData):
2347
2348 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2349
2350         [V8] Move retrieve{Window,Frame,PerContextData}() from V8Proxy to V8Binding
2351         https://bugs.webkit.org/show_bug.cgi?id=94460
2352
2353         Reviewed by Adam Barth.
2354
2355         To kill V8Proxy, we move retrieve{Window,Frame,PerContextData}()
2356         from V8Proxy to V8Binding. Also, this patch renames these methods as follows:
2357
2358         - retrieveWindow() -> toDOMWindow()
2359         - retrieveFrame() -> toFrameIfNotDetached()
2360         - retrievePerContextData() -> perContextDataForCurrentWorld()
2361
2362         No tests. No change in behavior.
2363
2364         * bindings/v8/BindingState.cpp:
2365         (WebCore::activeDOMWindow):
2366         (WebCore::firstDOMWindow):
2367         (WebCore::activeFrame):
2368         (WebCore::firstFrame):
2369         (WebCore::currentFrame):
2370         (WebCore::currentDocument):
2371         * bindings/v8/PageScriptDebugServer.cpp:
2372         (WebCore::retrieveFrameWithGlobalObjectCheck):
2373         (WebCore::PageScriptDebugServer::getDebugListenerForContext):
2374         (WebCore::PageScriptDebugServer::runMessageLoopOnPause):
2375         * bindings/v8/V8Binding.cpp:
2376         (WebCore::retrieveWindow):
2377         (WebCore):
2378         (WebCore::retrieveFrame):
2379         (WebCore::retrievePerContextData):
2380         * bindings/v8/V8Binding.h:
2381         (WebCore):
2382         * bindings/v8/V8DOMWrapper.cpp:
2383         (WebCore::V8DOMWrapper::constructorForType):
2384         * bindings/v8/V8NPUtils.cpp:
2385         (WebCore::convertV8ObjectToNPVariant):
2386         * bindings/v8/V8Proxy.cpp:
2387         (WebCore::V8Proxy::handleOutOfMemory):
2388         (WebCore::V8Proxy::context):
2389         (WebCore::V8Proxy::matchesCurrentContext):
2390         * bindings/v8/V8Proxy.h:
2391         (V8Proxy):
2392
2393 2012-08-20  Abhishek Arya  <inferno@chromium.org>
2394
2395         Yank an unneccessary if added in r125810.
2396         https://bugs.webkit.org/show_bug.cgi?id=85804
2397
2398         Reviewed by Levi Weintraub.
2399
2400         * rendering/RenderBlockLineLayout.cpp:
2401         (WebCore::RenderBlock::layoutInlineChildren):
2402
2403 2012-08-20  James Robinson  <jamesr@chromium.org>
2404
2405         [chromium] REGRESSION(126076) Should not touch old GraphicsLayerChromium::m_contentsLayer when setting up a new contents layer
2406         https://bugs.webkit.org/show_bug.cgi?id=94544
2407
2408         Reviewed by Adrienne Walker.
2409
2410         GraphicsLayerChromium only keeps a weak pointer to its m_contentsLayer. When replacing it with a new contents
2411         layer, it may be unsafe to touch the old value. It's also completely unnecessary.
2412
2413         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2414         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2415         (WebCore::GraphicsLayerChromium::setContentsToImage):
2416         (WebCore::GraphicsLayerChromium::setContentsTo):
2417         (WebCore::GraphicsLayerChromium::setupContentsLayer):
2418         * platform/graphics/chromium/GraphicsLayerChromium.h:
2419
2420 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2421
2422         [V8] Move collectGarbage() from ScriptController to V8GCController
2423         https://bugs.webkit.org/show_bug.cgi?id=94455
2424
2425         Reviewed by Adam Barth.
2426
2427         - This patch moves collectGarbage() from ScriptController to V8GCController.
2428         - This patch makes collectGarbage() a static method.
2429         - This patch removes ScriptController::lowMemoryNotification()
2430         since it is not used at all.
2431
2432         No tests. No change in behavior.
2433
2434         * bindings/v8/ScriptController.cpp:
2435         * bindings/v8/ScriptController.h:
2436         * bindings/v8/V8GCController.cpp:
2437         (WebCore::V8GCController::collectGarbage):
2438         (WebCore):
2439         * bindings/v8/V8GCController.h:
2440         (V8GCController):
2441
2442 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2443
2444         [V8] Remove V8Proxy from V8IsolatedContext
2445         https://bugs.webkit.org/show_bug.cgi?id=94450
2446
2447         Reviewed by Adam Barth.
2448
2449         This patch removes dependency on V8Proxy from V8IsolatedContext.
2450
2451         No tests. No change in behavior.
2452
2453         * bindings/v8/ScriptController.cpp:
2454         (WebCore::ScriptController::evaluateInIsolatedWorld):
2455         * bindings/v8/V8IsolatedContext.cpp:
2456         (WebCore::V8IsolatedContext::V8IsolatedContext):
2457         * bindings/v8/V8IsolatedContext.h:
2458         (WebCore):
2459         (V8IsolatedContext):
2460
2461 2012-08-20  Philip Rogers  <pdr@google.com>
2462
2463         Canvas drawImage() should draw SVG at the correct scale.
2464         https://bugs.webkit.org/show_bug.cgi?id=94377
2465
2466         Previously, drawing SVG in canvas would render at the incorrect scale
2467         because imageSizeForRenderer did not take into account the page scale.
2468         After this patch, we now incorporate the page scale in
2469         CachedImage::imageSizeForRenderer().
2470
2471         Reviewed by Tim Horton.
2472
2473         Test: svg/as-image/svg-as-image-canvas.html
2474
2475         * loader/cache/CachedImage.cpp:
2476         (WebCore::CachedImage::imageSizeForRenderer):
2477
2478 2012-08-20  Simon Fraser  <simon.fraser@apple.com>
2479
2480         Assertion going back to results.html page from an image diff result
2481         https://bugs.webkit.org/show_bug.cgi?id=94143
2482
2483         Reviewed by Adam Barth.
2484
2485         Avoid redundantly setting the DOMWindow on a JSDOMWindow shell in
2486         ScriptCachedFrameData::restore(), as we may have already done this
2487         in ScriptController::clearWindowShell(). This avoids an assertion
2488         on some platforms when going Back to the test results page from
2489         a diff image.
2490
2491         * bindings/js/ScriptCachedFrameData.cpp:
2492         (WebCore::ScriptCachedFrameData::restore):
2493
2494 2012-08-20  Dean Jackson  <dino@apple.com>
2495
2496         [WebGL] OES_vertex_array_object is not correctly un/binding or deleting
2497         https://bugs.webkit.org/show_bug.cgi?id=94029
2498
2499         Reviewed by Ken Russell.
2500
2501         When the currently bound vertex array is deleted, the specification says that
2502         the default object should be bound in its place. Also, binding a null object
2503         as a vertex array was not actually clearing the bound object at the GL layer.
2504         And lastly, it should not be possible to bind a deleted vertex array.
2505
2506         The test case for this is the public Khronos WebGL conformance suite, in particular:
2507         conformance/extensions/oes-vertex-array-object.html
2508
2509         * html/canvas/OESVertexArrayObject.cpp:
2510         (WebCore::OESVertexArrayObject::deleteVertexArrayOES): Check if the deleted array is
2511         currently bound, and if so, unbind it.
2512         (WebCore::OESVertexArrayObject::bindVertexArrayOES): Make sure never to bind an
2513         array that has been marked as deleted.
2514         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2515         (WebCore::Extensions3DOpenGL::bindVertexArrayOES): Remove the null check on bind. We
2516         do need to call glBindVertexArrayAPPLE with a null value in order to clear it.
2517
2518 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2519
2520         [V8] Move clearForClose() and clearForNavigation() from V8Proxy to ScriptController
2521         https://bugs.webkit.org/show_bug.cgi?id=94459
2522
2523         Reviewed by Adam Barth.
2524
2525         To kill V8Proxy, we can move clearForClose() and
2526         clearForNavigation() from V8Proxy to ScriptController.
2527
2528         No tests. No change in behavior.
2529
2530         * bindings/v8/ScriptController.cpp:
2531         (WebCore::ScriptController::~ScriptController):
2532         (WebCore::ScriptController::resetIsolatedWorlds):
2533         (WebCore):
2534         (WebCore::ScriptController::clearForClose):
2535         (WebCore::ScriptController::clearForNavigation):
2536         (WebCore::ScriptController::clearWindowShell):
2537         * bindings/v8/ScriptController.h:
2538         (ScriptController):
2539         * bindings/v8/V8Proxy.cpp:
2540         (WebCore::V8Proxy::~V8Proxy):
2541         (WebCore::V8Proxy::handleOutOfMemory):
2542         * bindings/v8/V8Proxy.h:
2543         (V8Proxy):
2544
2545 2012-08-20  Dirk Schulze  <krit@webkit.org>
2546
2547         CSS Masking and CSS Filters applied in wrong order
2548         https://bugs.webkit.org/show_bug.cgi?id=94354
2549
2550         Reviewed by Dean Jackson.
2551
2552         According to the Filter Effects spec, the order should be first filters, then masking and clipping.
2553         Changed the order on applying the different effects in RenderLayer.
2554
2555         Test: css3/filters/filter-mask-clip-order.html
2556
2557         * rendering/RenderLayer.cpp:
2558         (WebCore::RenderLayer::paintLayerContents): First filter, then mask and clip the content.
2559
2560 2012-08-20  Kentaro Hara  <haraken@chromium.org>
2561
2562         [V8] Move mainWorldContext() from V8Proxy to ScriptController
2563         https://bugs.webkit.org/show_bug.cgi?id=94453
2564
2565         Reviewed by Adam Barth.
2566
2567         This patch moves mainWorldContext() from V8Proxy to ScriptController.
2568         In addition, this patch removes dependency on V8Proxy from WorldContextHandle.
2569
2570         No tests. No change in behavior.
2571
2572         * bindings/v8/DOMTransaction.cpp:
2573         (WebCore::DOMTransaction::callFunction):
2574         * bindings/v8/NPV8Object.cpp:
2575         (WebCore::toV8Context):
2576         * bindings/v8/ScriptController.cpp:
2577         (WebCore::ScriptController::evaluate):
2578         (WebCore::ScriptController::mainWorldContext):
2579         (WebCore):
2580         (WebCore::ScriptController::bindToWindowObject):
2581         (WebCore::createScriptObject):
2582         (WebCore::ScriptController::createScriptObjectForPluginElement):
2583         * bindings/v8/ScriptController.h:
2584         (ScriptController):
2585         * bindings/v8/ScriptState.cpp:
2586         (WebCore::mainWorldScriptState):
2587         * bindings/v8/V8LazyEventListener.cpp:
2588         (WebCore::V8LazyEventListener::prepareListenerObject):
2589         * bindings/v8/V8Proxy.cpp:
2590         (WebCore::V8Proxy::context):
2591         (WebCore::toV8Context):
2592         * bindings/v8/V8Proxy.h:
2593         (V8Proxy):
2594         * bindings/v8/WorldContextHandle.cpp:
2595         (WebCore::WorldContextHandle::adjustedContext):
2596         * bindings/v8/WorldContextHandle.h:
2597         (WebCore):
2598         (WorldContextHandle):
2599
2600 2012-08-20  Adam Klein  <adamk@chromium.org>
2601
2602         Remove redundant TOUCH_LISTENER event type
2603         https://bugs.webkit.org/show_bug.cgi?id=94524
2604
2605         Reviewed by Ryosuke Niwa.
2606
2607         Code that needs to determine whether there are touch listeners
2608         can instead call Document::touchEventHandlerCount(), added in r107832.
2609         TOUCH_LISTENER didn't fit very well into the hasListenerType() model
2610         anyway, as there's not a 1:1 correspondance between the enum value and
2611         an event.
2612
2613         * dom/Document.cpp:
2614         (WebCore::Document::addListenerTypeIfNeeded): Remove two bits of code:
2615         the bookkeeping for TOUCH_LISTENER, and the notification into
2616         ChromeClient (which is handled by calls to didAddTouchEventHandler in
2617         all the places that call addListenerTypeIfNeeded).
2618         (WebCore::Document::didRemoveTouchEventHandler): Remove bookkeeping for TOUCH_LISTENER.
2619         * dom/Document.h:
2620         * history/CachedFrame.cpp:
2621         (WebCore::CachedFrameBase::restore): Call touchEventHandlerCount instead of hasListenerType.
2622         * html/HTMLInputElement.cpp:
2623         (WebCore::HTMLInputElement::updateType): ditto
2624         * page/EventHandler.cpp:
2625         (WebCore::EventHandler::handleTouchEvent): ditto
2626         * page/Frame.cpp:
2627         (WebCore::Frame::setDocument): ditto
2628         * testing/Internals.cpp: Remove hasTouchEventListener method since its
2629         data source no longer exists.
2630         * testing/Internals.h: ditto
2631         (Internals):
2632         * testing/Internals.idl: ditto
2633
2634 2012-08-16  James Robinson  <jamesr@chromium.org>
2635
2636         [chromium] Change WebLayer from a concrete type to a pure virtual interface
2637         https://bugs.webkit.org/show_bug.cgi?id=94174
2638
2639         Reviewed by Adrienne Walker.
2640
2641         This updates WebCore code for the WebLayer interface changes. Classes that have ownership of specific layer
2642         types (such as DrawingBufferChromium, Canvas2DLayerBridge and ScrollingCoordinatorChromium) hold ownership
2643         of a specific type and a pointer to the WebLayer to GraphicsLayerChromium to be included in the final layer
2644         tree. GraphicsLayerChromium holds a WebContentLayer and (optionally) a WebImageLayer and WebLayer (for
2645         m_transformLayer) and assembles the final layer tree.
2646
2647         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2648         (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
2649         (ScrollingCoordinatorPrivate):
2650         (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
2651         (WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
2652         (WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
2653         (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
2654         (WebCore::scrollableLayerForGraphicsLayer):
2655         (WebCore):
2656         (WebCore::createScrollbarLayer):
2657         (WebCore::ScrollingCoordinator::setScrollLayer):
2658         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
2659         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
2660         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
2661         (WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
2662         (WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
2663         * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
2664         (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
2665         (WebCore::AcceleratedDeviceContext::clearLayer):
2666         (AcceleratedDeviceContext):
2667         (WebCore::AcceleratedDeviceContext::prepareForDraw):
2668         (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
2669         (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
2670         (WebCore::Canvas2DLayerBridge::skCanvas):
2671         (WebCore::Canvas2DLayerBridge::layer):
2672         (WebCore::Canvas2DLayerBridge::contextAcquired):
2673         * platform/graphics/chromium/Canvas2DLayerBridge.h:
2674         (WebCore):
2675         (Canvas2DLayerBridge):
2676         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2677         (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
2678         (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
2679         (WebCore::DrawingBufferPrivate::layer):
2680         (DrawingBufferPrivate):
2681         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2682         (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
2683         (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
2684         (WebCore::GraphicsLayerChromium::updateNames):
2685         (WebCore::GraphicsLayerChromium::removeFromParent):
2686         (WebCore::GraphicsLayerChromium::setSize):
2687         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
2688         (WebCore::GraphicsLayerChromium::setContentsOpaque):
2689         (WebCore::GraphicsLayerChromium::setFilters):
2690         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
2691         (WebCore::GraphicsLayerChromium::setMaskLayer):
2692         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
2693         (WebCore::GraphicsLayerChromium::setOpacity):
2694         (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
2695         (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
2696         (WebCore::GraphicsLayerChromium::setNeedsDisplay):
2697         (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
2698         (WebCore::GraphicsLayerChromium::setContentsToImage):
2699         (WebCore::GraphicsLayerChromium::setContentsToCanvas):
2700         (WebCore):
2701         (WebCore::GraphicsLayerChromium::setContentsToMedia):
2702         (WebCore::GraphicsLayerChromium::setContentsTo):
2703         (WebCore::GraphicsLayerChromium::addAnimation):
2704         (WebCore::GraphicsLayerChromium::pauseAnimation):
2705         (WebCore::GraphicsLayerChromium::removeAnimation):
2706         (WebCore::GraphicsLayerChromium::suspendAnimations):
2707         (WebCore::GraphicsLayerChromium::resumeAnimations):
2708         (WebCore::GraphicsLayerChromium::addLinkHighlight):
2709         (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
2710         (WebCore::GraphicsLayerChromium::platformLayer):
2711         (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
2712         (WebCore::GraphicsLayerChromium::setDebugBorder):
2713         (WebCore::GraphicsLayerChromium::updateChildList):
2714         (WebCore::GraphicsLayerChromium::updateLayerPosition):
2715         (WebCore::GraphicsLayerChromium::updateLayerSize):
2716         (WebCore::GraphicsLayerChromium::updateAnchorPoint):
2717         (WebCore::GraphicsLayerChromium::updateTransform):
2718         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
2719         (WebCore::GraphicsLayerChromium::updateMasksToBounds):
2720         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
2721         (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
2722         (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
2723         (WebCore::GraphicsLayerChromium::updateContentsRect):
2724         (WebCore::GraphicsLayerChromium::updateContentsScale):
2725         (WebCore::GraphicsLayerChromium::setupContentsLayer):
2726         * platform/graphics/chromium/GraphicsLayerChromium.h:
2727         (WebCore::GraphicsLayerChromium::hasContentsLayer):
2728         (WebCore::GraphicsLayerChromium::contentLayer):
2729         (GraphicsLayerChromium):
2730         (WebCore::GraphicsLayerChromium::contentsLayer):
2731         * platform/graphics/chromium/LayerChromium.cpp:
2732         (WebCore::LayerChromium::rootLayer):
2733         * platform/graphics/chromium/LayerChromium.h:
2734
2735 2012-08-20  Leandro Gracia Gil  <leandrogracia@chromium.org>
2736
2737         Move transformFriendlyBoundingBox out of Range
2738         https://bugs.webkit.org/show_bug.cgi?id=94366
2739
2740         Reviewed by Simon Fraser and Ryosuke Niwa.
2741
2742         Bug 93111 introduced a new method in Range called transformFriendlyBoundingBox.
2743         However, this method should not have been added there in order to reduce the
2744         dependencies between Range and the rendering code. This patch moves it to a
2745         static method in RenderObject.
2746
2747         Tests: existing tests, no new feature added by this patch.
2748
2749         * dom/Range.cpp:
2750         * dom/Range.h:
2751         * rendering/RenderObject.cpp:
2752         (WebCore::RenderObject::absoluteBoundingBoxRectForRange):
2753         (WebCore):
2754         * rendering/RenderObject.h:
2755         (RenderObject):
2756
2757 2012-08-20  Ryosuke Niwa  <rniwa@webkit.org>
2758
2759         Replace isolate || bidi-override by isolate-override
2760         https://bugs.webkit.org/show_bug.cgi?id=89746
2761
2762         Reviewed by Levi Weintraub.
2763
2764         The combination of bidi-isolate and isolate was replaced by a single isolate-override in
2765         http://lists.w3.org/Archives/Public/www-style/2012May/0541.html. The spec. has been updated accordingly:
2766         http://dev.w3.org/csswg/css3-writing-modes/#unicode-bidi
2767
2768         To follow the specification change, added -webkit-isolate-override and removed the support for
2769         isolate || bidi-override, simplifying the CSS parser and serializer.
2770
2771         Test: fast/text/bidi-override-isolate.html
2772
2773         * css/CSSComputedStyleDeclaration.cpp:
2774         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Removed. We can just new a CSSPrimitiveValue
2775         constructor now.
2776         * css/CSSParser.cpp:
2777         (WebCore::CSSParser::parseValue):
2778         * css/CSSPrimitiveValueMappings.h:
2779         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added now that unicode-bidi always creates a signle
2780         primitive value instead of a primitive value of css value list.
2781         (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
2782         * css/CSSValueKeywords.in: Added -webkit-isolate-override
2783         * css/StyleBuilder.cpp:
2784         (WebCore): Removed ApplyPropertyUnicodeBidi since we can use ApplyPropertyDefault now.
2785         (WebCore::StyleBuilder::StyleBuilder): Use ApplyPropertyDefault.
2786         * platform/text/UnicodeBidi.h: Renamed OverrideIsolate to IsolateOverride to match the spec.
2787         (WebCore::isIsolated):
2788         (WebCore::isOverride):
2789         * rendering/RenderBlockLineLayout.cpp:
2790         (WebCore::constructBidiRuns):
2791
2792 2012-08-20  Tony Chang  <tony@chromium.org>
2793
2794         RenderGrid children should always be RenderBoxes
2795         https://bugs.webkit.org/show_bug.cgi?id=94305
2796
2797         Reviewed by Abhishek Arya.
2798
2799         During RenderGrid::layout, we assume all the children are RenderBoxes.
2800         When removing children, if the last child is an anonymous block, we don't
2801         want to remove the anonymous block for grids. Ensure this doesn't happen
2802         by adding canCollapseAnonymousBlockChild to RenderBlock (flexboxen and
2803         grid can override this method).
2804
2805         Test: fast/css-grid-layout/should-not-collapse-anonymous-blocks.html
2806
2807         * rendering/RenderBlock.cpp:
2808         (WebCore::RenderBlock::removeChild): Check canCollapseAnonymousBlockChild().
2809         * rendering/RenderBlock.h:
2810         (WebCore::RenderBlock::canCollapseAnonymousBlockChild):
2811         (RenderBlock):
2812         * rendering/RenderDeprecatedFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
2813         * rendering/RenderFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
2814         * rendering/RenderGrid.h: canCollapseAnonymousBlockChild returns false.
2815
2816 2012-08-20  Kenneth Russell  <kbr@google.com>
2817
2818         Unreviewed, rolling out r126026.
2819         http://trac.webkit.org/changeset/126026
2820         https://bugs.webkit.org/show_bug.cgi?id=94449
2821
2822         Caused assertion failure in layout test touchadjustment/context-menu.html
2823
2824         * page/TouchAdjustment.cpp:
2825         (TouchAdjustment):
2826         (WebCore::TouchAdjustment::providesContextMenuItems):
2827         (WebCore::TouchAdjustment::appendSubtargetsForNodeToList):
2828         (WebCore::TouchAdjustment::compileSubtargetList):
2829         (WebCore::findBestClickableCandidate):
2830         (WebCore::findBestContextMenuCandidate):
2831
2832 2012-08-20  Andrew Lo  <anlo@rim.com>
2833
2834         [BlackBerry] Enabling DEBUG_LAYER_ANIMATION results in build break & warnings
2835         https://bugs.webkit.org/show_bug.cgi?id=94514
2836
2837         Reviewed by Rob Buis.
2838
2839         Add wtf::CString definition to fix build break when enabling DEBUG_LAYER_ANIMATION
2840         debug prints. Fix build warnings from prints.
2841
2842         No new tests, non-functional change.
2843
2844         * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
2845         (WebCore::GraphicsLayerBlackBerry::addAnimation):
2846         (WebCore::GraphicsLayerBlackBerry::pauseAnimation):
2847
2848 2012-08-20  Christophe Dumez  <christophe.dumez@intel.com>
2849
2850         [JSC] SerializedScriptValue::create() should throw a DataCloneError if input is an unsupported object
2851         https://bugs.webkit.org/show_bug.cgi?id=94493
2852
2853         Reviewed by Oliver Hunt.
2854
2855         Update JSC implementation for SerializedScriptValue::create() so that
2856         a DataCloneError is thrown when the input value is an unsupported
2857         object. The previous implementation was not throwing any error.
2858
2859         This change is according to the structured clone specification at:
2860         http://www.w3.org/TR/html5/common-dom-interfaces.html#structured-clone
2861
2862         This also matches the corresponding V8 implementation.
2863
2864         Test: fast/events/message-port-multi.html.
2865
2866         * bindings/js/SerializedScriptValue.cpp:
2867         (WebCore::CloneSerializer::dumpIfTerminal):
2868         (WebCore::CloneSerializer::serialize):
2869         (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
2870         * bindings/js/SerializedScriptValue.h:
2871
2872 2012-08-20  Sheriff Bot  <webkit.review.bot@gmail.com>
2873
2874         Unreviewed, rolling out r125884.
2875         http://trac.webkit.org/changeset/125884
2876         https://bugs.webkit.org/show_bug.cgi?id=94523
2877
2878         Appears to be causing a top crash in the Canary channel
2879         (Requested by abarth on #webkit).
2880
2881         * UseV8.cmake:
2882         * WebCore.gypi:
2883         * bindings/v8/DOMWrapperWorld.cpp:
2884         (WebCore::DOMWrapperWorld::DOMWrapperWorld):
2885         (WebCore::mainThreadNormalWorld):
2886         * bindings/v8/DOMWrapperWorld.h:
2887         (WebCore):
2888         (WebCore::DOMWrapperWorld::create):
2889         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
2890         (DOMWrapperWorld):
2891         * bindings/v8/IsolatedWorld.cpp: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.cpp.
2892         (WebCore):
2893         (WebCore::IsolatedWorld::IsolatedWorld):
2894         (WebCore::IsolatedWorld::~IsolatedWorld):
2895         * bindings/v8/IsolatedWorld.h: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.h.
2896         (WebCore):
2897         (IsolatedWorld):
2898         (WebCore::IsolatedWorld::create):
2899         (WebCore::IsolatedWorld::count):
2900         (WebCore::IsolatedWorld::id):
2901         (WebCore::IsolatedWorld::domDataStore):
2902         * bindings/v8/V8DOMWrapper.h:
2903         (WebCore::V8DOMWrapper::getCachedWrapper):
2904         * bindings/v8/V8IsolatedContext.cpp:
2905         (WebCore::V8IsolatedContext::V8IsolatedContext):
2906         (WebCore::V8IsolatedContext::destroy):
2907         * bindings/v8/V8IsolatedContext.h:
2908         (WebCore::V8IsolatedContext::getEntered):
2909         (WebCore::V8IsolatedContext::world):
2910         (V8IsolatedContext):
2911         * bindings/v8/V8PerIsolateData.h:
2912         (WebCore::V8PerIsolateData::registerDOMDataStore):
2913         (WebCore::V8PerIsolateData::unregisterDOMDataStore):
2914
2915 2012-08-20  Chris Rogers  <crogers@google.com>
2916
2917         Remove improper ASSERT in AudioParamTimeline::valuesForTimeRangeImpl()
2918         https://bugs.webkit.org/show_bug.cgi?id=94504
2919
2920         Reviewed by Kenneth Russell.
2921
2922         AudioParamTimeline::valuesForTimeRangeImpl() is able to handle the case where there are no timeline events.
2923         So don't ASSERT for that case.
2924
2925         * Modules/webaudio/AudioParamTimeline.cpp:
2926         (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
2927
2928 2012-08-20  Ken Buchanan  <kenrb@chromium.org>
2929         Line boxes not being dirtied correctly during inline removal
2930         https://bugs.webkit.org/show_bug.cgi?id=93156
2931
2932         Reviewed by David Hyatt.
2933
2934         When two inline objects were being removed from different lineboxes
2935         in an ancestral RenderBlock, the way the RenderBlock was being marked
2936         prevented the second linebox from being marked dirty. This causes
2937         it to not get layout in the subsequent layout pass.
2938
2939         This patch causes only the descendants corresponding to actual changed
2940         lineboxes to have their ancestorLineBoxDirty bit set, rather than
2941         the RenderBlock that contains the lineboxes themselves.
2942
2943         * rendering/RenderLineBoxList.cpp:
2944         (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
2945
2946 2012-08-20  John Mellor  <johnme@chromium.org>
2947
2948         Text Autosizing: Only take into account block width <= document layout width.
2949         https://bugs.webkit.org/show_bug.cgi?id=93862
2950
2951         Reviewed by Kenneth Rohde Christiansen.
2952
2953         Instead of calculating the textAutosizingMultiplier purely based on the
2954         width of each block, we now work out the maximum width of the block
2955         that could be displayed onscreen at any one time, and use that value.
2956         This avoids excessive text size multiplication (there's no point making
2957         text bigger than this, since you wouldn't be able to zoom out far
2958         enough to read it!).
2959
2960         To determine the maximum onscreen block width, we take the minimum of
2961         the block width and the layoutWidth of the narrowest non-flattened
2962         ancestor frame. Flattened frames are ignored since they don't impose a
2963         hard limit on the maximum width that can be displayed, instead they can
2964         stretch to fit their contents. Note that on mobile the layoutWidth of
2965         the main frame is the fixed layout width aka viewport width.
2966
2967         In practice this caps the maximum multiplier to a value that depends
2968         on the metrics of the device. For example on a Nexus S (480 x 800px
2969         and 1.5x devicePixelRatio) with a 980px default fixed layout width,
2970         this limits the multiplier to: 980 / (480/1.5) = 3.0625
2971
2972         Most pages won't have blocks that actually hit this cap, or they will
2973         only slightly exceed it (so their multiplier will only be slightly
2974         reduced). For example it's not uncommon for desktop pages to be
2975         slightly wider than 980px, but they would have to additionally have
2976         text that spans the full width of the page for this to affect them, and
2977         even then it would merely slightly decrease their multiplier).
2978
2979         This will have more dramatic effects on the rare desktop pages which
2980         give a width=device-width (or similar) mobile viewport tag (on ports
2981         which support viewports). A follow-up patch will hopefully address this
2982         by wrapping the text in such excessively wide blocks to the layoutWidth.
2983
2984         Tests: fast/text-autosizing/narrow-iframe-flattened.html
2985                fast/text-autosizing/narrow-iframe.html
2986                fast/text-autosizing/wide-block.html
2987                fast/text-autosizing/wide-iframe.html
2988
2989         * page/FrameView.cpp:
2990         (WebCore::FrameView::isInChildFrameWithFrameFlattening):
2991
2992             Made public and const, so can be used from TextAutosizer.
2993
2994         * rendering/TextAutosizer.cpp:
2995         (WebCore::TextAutosizer::processSubtree):
2996
2997             Computes the minimum layout width of the parent frames, as described
2998             above.
2999
3000         (WebCore::TextAutosizer::processBlock):
3001
3002             Limits used block width to this min layout width.
3003
3004 2012-08-20  Hans Wennborg  <hans@chromium.org>
3005
3006         Respect runtime flags for Device Orientation and Device Motion
3007         https://bugs.webkit.org/show_bug.cgi?id=94479
3008
3009         Reviewed by Adam Barth.
3010
3011         There are flags that allows disabling of device orientation and device
3012         motion at runtime. These flags determine the availability of the
3013         corresponding event constructors in DOMWindow.
3014
3015         However, the flags should also control the ability to add event
3016         listeners for these events, otherwise the feature can be used even if
3017         it is disabled.
3018
3019         * page/DOMWindow.cpp:
3020         (WebCore::DOMWindow::addEventListener):
3021
3022 2012-08-20  Philip Rogers  <pdr@google.com>
3023
3024         Remove incorrect getBBox() code
3025         https://bugs.webkit.org/show_bug.cgi?id=94419
3026
3027         Reviewed by Dirk Schulze.
3028
3029         SVGPathElement defines a getBBox() function that is wrong and
3030         should use objectBoundingBox(). This patch cleans this up.
3031
3032         No new tests as this is just a cleanup of old code.
3033
3034         * svg/SVGPathElement.cpp:
3035         (WebCore):
3036         * svg/SVGPathElement.h:
3037         (SVGPathElement):
3038
3039 2012-08-20  David Reveman  <reveman@chromium.org>
3040
3041         [Chromium] Schedule texture uploads based on hard-coded timer and vsync.
3042         https://bugs.webkit.org/show_bug.cgi?id=84281
3043
3044         Reviewed by James Robinson.
3045
3046         Improve interaction between vsync and texture uploads by performing
3047         uploads in smaller batches and use a hard-coded timer to emulate
3048         upload completion. This greatly reduces the chance of the compositor
3049         missing a vsync due to being busy with texture uploads.
3050
3051         The CCScheduler client is now given a time limit when told to update
3052         more resources. This time limit is passed to an instance of the
3053         CCTextureUpdateController class, which is responsible for performing
3054         texture updates until the limit is reached.
3055
3056         Unit tests: CCSchedulerTest.RequestCommit
3057                     CCTextureUpdateControllerTest.UpdateMoreTextures
3058                     CCTextureUpdateControllerTest.HasMoreUpdates
3059
3060         * platform/graphics/chromium/cc/CCFrameRateController.cpp:
3061         (WebCore::CCFrameRateController::nextTickTime):
3062         (WebCore):
3063         * platform/graphics/chromium/cc/CCFrameRateController.h:
3064         (CCFrameRateController):
3065         * platform/graphics/chromium/cc/CCScheduler.cpp:
3066         (WebCore::CCScheduler::processScheduledActions):
3067         * platform/graphics/chromium/cc/CCScheduler.h:
3068         (CCSchedulerClient):
3069         * platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
3070         (WebCore::CCTextureUpdateController::maxPartialTextureUpdates):
3071         (WebCore::CCTextureUpdateController::CCTextureUpdateController):
3072         (WebCore::CCTextureUpdateController::updateMoreTextures):
3073         (WebCore):
3074         (WebCore::CCTextureUpdateController::onTimerFired):
3075         (WebCore::CCTextureUpdateController::monotonicTimeNow):
3076         (WebCore::CCTextureUpdateController::updateMoreTexturesTime):
3077         (WebCore::CCTextureUpdateController::updateMoreTexturesSize):
3078         (WebCore::CCTextureUpdateController::updateMoreTexturesIfEnoughTimeRemaining):
3079         (WebCore::CCTextureUpdateController::updateMoreTexturesNow):
3080         * platform/graphics/chromium/cc/CCTextureUpdateController.h:
3081         (WebCore::CCTextureUpdateController::create):
3082         (CCTextureUpdateController):
3083         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
3084         (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
3085         (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
3086         * platform/graphics/chromium/cc/CCThreadProxy.h:
3087
3088 2012-08-20  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
3089
3090         [css3-text] Add parsing support for -webkit-text-decoration-style
3091         https://bugs.webkit.org/show_bug.cgi?id=94093
3092
3093         Reviewed by Julien Chaffraix.
3094
3095         This patch implements the "text-decoration-style" property parsing as specified
3096         in CSS3 working draft, with "-webkit-" prefix. The specification can be found
3097         here: http://dev.w3.org/csswg/css3-text/#text-decoration-style
3098
3099         Additionally, Mozilla implementation details can be found here:
3100         https://developer.mozilla.org/en-US/docs/CSS/text-decoration-style
3101
3102         This is an individual task for bug 90958. Rendering support will be handled on a
3103         different bug.
3104
3105         Test: fast/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-style.html
3106
3107         * css/CSSComputedStyleDeclaration.cpp:
3108         (WebCore::renderTextDecorationStyleFlagsToCSSValue):
3109         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3110         * css/CSSParser.cpp:
3111         (WebCore::CSSParser::parseValue):
3112         * css/CSSPrimitiveValueMappings.h:
3113         (WebCore::CSSPrimitiveValue::operator TextDecorationStyle):
3114         * css/CSSProperty.cpp:
3115         (WebCore::CSSProperty::isInheritedProperty):
3116         * css/CSSPropertyNames.in:
3117         * css/CSSValueKeywords.in:
3118         * css/StyleBuilder.cpp:
3119         (WebCore::StyleBuilder::StyleBuilder):
3120         * css/StyleResolver.cpp:
3121         (WebCore::StyleResolver::collectMatchingRulesForList):
3122         * rendering/style/RenderStyle.cpp:
3123         (WebCore::RenderStyle::diff):
3124         * rendering/style/RenderStyle.h:
3125         * rendering/style/RenderStyleConstants.h: Added non-bitwise TextDecorationStyle enum.
3126         * rendering/style/StyleRareNonInheritedData.cpp:
3127         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Added m_textDecorationStyle to default and copy constructors.
3128         (WebCore::StyleRareNonInheritedData::operator==): Include m_textDecorationStyle in comparison.
3129         * rendering/style/StyleRareNonInheritedData.h:
3130         (StyleRareNonInheritedData):
3131         Added m_textDecorationStyle here as it won't be used regularly.
3132
3133 2012-08-20  Jakob Petsovits  <jpetsovits@rim.com>
3134
3135         [BlackBerry] Persist cookies not from atexit() but the new onThreadFinished()
3136         https://bugs.webkit.org/show_bug.cgi?id=94482
3137         RIM PR 184923
3138
3139         Reviewed by Yong Li.
3140
3141         BlackBerry::Platform recently made changes that ensure
3142         that MessageClient threads are being shut down correctly.
3143         A new onThreadFinished() virtual was introduced for
3144         custom clean-up functionality and can replace the
3145         atexit() handler that we previously used to flush cookies
3146         to the cookie database backingstore.
3147
3148         No new functionality, no new tests.
3149
3150         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
3151         (WebCore):
3152         (WebCore::CookieDatabaseBackingStore::onThreadFinished):
3153         (WebCore::CookieDatabaseBackingStore::sendChangesToDatabaseSynchronously):
3154         * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
3155         (CookieDatabaseBackingStore):
3156         * platform/blackberry/CookieManager.cpp:
3157         (WebCore):
3158         (WebCore::cookieManager):
3159         * platform/blackberry/CookieManager.h:
3160
3161 2012-08-20  Alexandre Elias  <aelias@google.com>
3162
3163         [chromium] Move non-GL-specific code out of LayerRendererChromium
3164         https://bugs.webkit.org/show_bug.cgi?id=93927
3165
3166         Reviewed by Adrienne Walker.
3167
3168         This patch moves most of the generic logic dealing with matrices and
3169         render passes into a new class "CCDirectRenderer" that sits between
3170         CCRenderer and LayerRendererChromium, and also publicly exposes a
3171         few other things like the UnthrottledTextureUploader.
3172
3173         The plan is for the future software compositing implementation to also
3174         derive from CCDirectRenderer, whereas the ubercompositor delegating
3175         renderer will still derive from CCRenderer.
3176
3177         No new tests (no-op refactoring).
3178
3179         * WebCore.gypi:
3180         * platform/graphics/chromium/GeometryBinding.cpp:
3181         (WebCore::GeometryBinding::GeometryBinding):
3182         * platform/graphics/chromium/GeometryBinding.h:
3183         (GeometryBinding):
3184         * platform/graphics/chromium/LayerRendererChromium.cpp:
3185         (WebCore::LayerRendererChromium::LayerRendererChromium):
3186         (WebCore::LayerRendererChromium::beginDrawingFrame):
3187         (WebCore::LayerRendererChromium::drawQuad):
3188         (WebCore::LayerRendererChromium::drawRenderPassQuad):
3189         (WebCore::LayerRendererChromium::drawTileQuad):
3190         (WebCore::LayerRendererChromium::finishDrawingFrame):
3191         (WebCore::LayerRendererChromium::drawQuadGeometry):
3192         (WebCore::LayerRendererChromium::bindFramebufferToOutputSurface):
3193         (WebCore):
3194         (WebCore::LayerRendererChromium::bindFramebufferToTexture):
3195         (WebCore::LayerRendererChromium::enableScissorTestRect):
3196         (WebCore::LayerRendererChromium::disableScissorTest):
3197         (WebCore::LayerRendererChromium::setDrawViewportSize):
3198         (WebCore::LayerRendererChromium::makeContextCurrent):
3199         (WebCore::LayerRendererChromium::initializeSharedObjects):
3200         * platform/graphics/chromium/LayerRendererChromium.h:
3201         (LayerRendererChromium):
3202         * platform/graphics/chromium/TextureCopier.h:
3203         (TextureCopier):
3204         * platform/graphics/chromium/TextureUploader.h:
3205         (UnthrottledTextureUploader):
3206         (WebCore::UnthrottledTextureUploader::create):
3207         (WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
3208         (WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
3209         (WebCore):
3210         * platform/graphics/chromium/cc/CCDirectRenderer.cpp: Added.
3211         (projectionMatrix):
3212         (canvasMatrix):
3213         (WebCore):
3214         (WebCore::CCDirectRenderer::DrawingFrame::initializeMatrices):
3215         (WebCore::CCDirectRenderer::DrawingFrame::initializeScissors):
3216         (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame):
3217         (WebCore::CCDirectRenderer::drawFrame):
3218         (WebCore::CCDirectRenderer::drawRenderPass):
3219         (WebCore::CCDirectRenderer::useRenderPass):
3220         (WebCore::CCDirectRenderer::haveCachedResourcesForRenderPassId):
3221         (WebCore::CCDirectRenderer::renderPassTextureSize):
3222         (WebCore::CCDirectRenderer::renderPassTextureFormat):
3223         * platform/graphics/chromium/cc/CCDirectRenderer.h: Added.
3224         (WebCore):
3225         (CCDirectRenderer):
3226         (WebCore::CCDirectRenderer::~CCDirectRenderer):
3227         (WebCore::CCDirectRenderer::resourceProvider):
3228         (WebCore::CCDirectRenderer::CCDirectRenderer):
3229         (DrawingFrame):
3230         (WebCore::CCDirectRenderer::DrawingFrame::DrawingFrame):
3231         (CachedTexture):
3232         (WebCore::CCDirectRenderer::CachedTexture::create):
3233         (WebCore::CCDirectRenderer::CachedTexture::~CachedTexture):
3234         (WebCore::CCDirectRenderer::CachedTexture::isComplete):
3235         (WebCore::CCDirectRenderer::CachedTexture::setIsComplete):
3236         (WebCore::CCDirectRenderer::CachedTexture::CachedTexture):
3237         (WebCore::CCDirectRenderer::quadVertexRect):
3238         (WebCore::CCDirectRenderer::quadRectTransform):
3239
3240 2012-08-20  Julien Chaffraix  <jchaffraix@webkit.org>
3241
3242         Introduce a will-be-removed-from-tree notification in RenderObject
3243         https://bugs.webkit.org/show_bug.cgi?id=94271
3244
3245         Reviewed by Abhishek Arya.
3246
3247         Following bug 93874, we have an insertion notification. This change adds the
3248         matching removal notification (willBeRemovedFromTree).
3249
3250         Refactoring covered by existing tests.
3251
3252         * rendering/RenderObjectChildList.cpp:
3253         (WebCore::RenderObjectChildList::removeChildNode):
3254         Removed the code from here and moved it below.
3255
3256         * rendering/RenderObject.cpp:
3257         (WebCore::RenderObject::willBeRemovedFromTree):
3258         * rendering/RenderObject.h:
3259         This is the base function that should be called by every instance.
3260
3261         * rendering/RenderListItem.cpp:
3262         (WebCore::RenderListItem::willBeRemovedFromTree):
3263         * rendering/RenderListItem.h:
3264         * rendering/RenderQuote.cpp:
3265         (WebCore::RenderQuote::willBeRemovedFromTree):
3266         * rendering/RenderQuote.h:
3267         * rendering/RenderRegion.cpp:
3268         (WebCore::RenderRegion::willBeRemovedFromTree):
3269         * rendering/RenderRegion.h:
3270         Overriden functions.
3271
3272 2012-08-20  Mike West  <mkwst@chromium.org>
3273
3274         CSP 1.1: The 'plugin-types' warning should include details about explicit type declaration when relevant.
3275         https://bugs.webkit.org/show_bug.cgi?id=94432
3276
3277         Reviewed by Adam Barth.
3278
3279         Given a 'plugin-types' Content Security Policy directive, an 'object' or
3280         'embed' tag is blocked if it doesn't include an explicit declaration of
3281         the plugin's expected media type. This restriction should be made clear
3282         in the console warning that's generated.
3283
3284         Existing tests have been adjusted to agree with the new error string.
3285
3286         * page/ContentSecurityPolicy.cpp:
3287         (WebCore::CSPDirectiveList::checkMediaTypeAndReportViolation):
3288             If a media type fail to match the policy's restrictions, and the
3289             declared type attribute is empty, then add another line to the
3290             console warning, espousing the virtues of explicit declaration.
3291
3292 2012-08-20  Dana Jansens  <danakj@chromium.org>
3293
3294         [chromium] Update HUD resources as a final step to drawing a frame
3295         https://bugs.webkit.org/show_bug.cgi?id=93743
3296
3297         Reviewed by Adrienne Walker.
3298
3299         The HUD should be painted as a last step, after the whole frame has been
3300         generated. This introduces a new "updateHudTexture" method on the HUD layer
3301         and has the HUD layer save itself on CCLayerTreeHostImpl so that it can
3302         call back to this method.
3303
3304         This allows the CCLayerTreeHostImpl to cause the HUD layer to update its
3305         texture as a final step before drawing the frame, allowing the HUD texture
3306         to contain all possible information about the current frame.
3307
3308         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
3309         (WebCore::CCHeadsUpDisplayLayerImpl::willDraw):
3310         (WebCore):
3311         (WebCore::CCHeadsUpDisplayLayerImpl::appendQuads):
3312         (WebCore::CCHeadsUpDisplayLayerImpl::updateHudTexture):
3313         * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
3314         (CCHeadsUpDisplayLayerImpl):
3315         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3316         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
3317         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3318         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
3319         (WebCore::CCLayerTreeHostImpl::drawLayers):
3320         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3321         (WebCore):
3322         (WebCore::CCLayerTreeHostImpl::setHudLayer):
3323         (WebCore::CCLayerTreeHostImpl::hudLayer):
3324         (CCLayerTreeHostImpl):
3325
3326 2012-08-20  Ian Vollick  <vollick@chromium.org>
3327
3328         [chromium] Add tracing for active composited animations
3329         https://bugs.webkit.org/show_bug.cgi?id=84210
3330
3331         Reviewed by James Robinson.
3332
3333         This patch issues the trace events from the animations. Animations will
3334         report when they start and finish on the main and impl threads (via
3335         TRACE_EVENT_ASYNC*), and also issues instant trace events whenever they
3336         change state.
3337
3338         No new tests, only changes tracing behavior.
3339
3340         * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
3341         (WebCore::CCActiveAnimation::CCActiveAnimation):
3342         (WebCore::CCActiveAnimation::~CCActiveAnimation):
3343         (WebCore::CCActiveAnimation::setRunState):
3344         (WebCore::CCActiveAnimation::clone):
3345         (WebCore):
3346         (WebCore::CCActiveAnimation::cloneAndInitialize):
3347         * platform/graphics/chromium/cc/CCActiveAnimation.h:
3348         (WebCore::CCActiveAnimation::isControllingInstance):
3349         (CCActiveAnimation):
3350         * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
3351         (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
3352         (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
3353         (WebCore::CCLayerAnimationController::tickAnimations):
3354
3355 2012-08-20  Bill Budge  <bbudge@chromium.org>
3356
3357         webkitfullscreenchange not fired properly in iframe.
3358         https://bugs.webkit.org/show_bug.cgi?id=93525
3359
3360         Reviewed by Adam Barth.
3361
3362         webkitCancelFullScreen exits fullscreen by invoking webkitExitFullScreen on topDocument.
3363         However, if webkitDidExitFullScreenForElement is invoked on a descendant document, no events
3364         get dispatched. This change starts the event dispatch delay timer on the document where
3365         webkitCancelFullScreen was called, so that the events get dispatched. In addition, when events
3366         are dispatched, the check whether a node has been removed is changed to also check that the
3367         node isn't in another document, as can happen with frames. Finally, webkitExitFullscreen
3368         is fixed to remove unnecessary code and conform to the spec.
3369
3370         No new tests (the existing fullscreen/exit-full-screen-iframe.html test now passes).
3371
3372         * dom/Document.cpp:
3373         (WebCore::Document::webkitExitFullscreen):
3374         (WebCore::Document::webkitDidExitFullScreenForElement):
3375         (WebCore::Document::fullScreenChangeDelayTimerFired):
3376
3377 2012-08-20  Yuzhu Shen  <yzshen@chromium.com>
3378
3379         [chromium] pepper plugins sometimes are shifted by 1 pixel
3380         https://bugs.webkit.org/show_bug.cgi?id=94257
3381
3382         Reviewed by Levi Weintraub.
3383
3384         Change RenderWidget::updateWidgetGeometry() to use LayoutRect instead of IntRect to avoid unwanted truncation
3385         (when converting from FloatRect to IntRect).
3386
3387         This makes sure that the optimized rendering code path of Pepper plugin
3388         (PluginInstance::GetBitmapForOptimizedPluginPaint) has consistent coordinates with the normal WebKit rendering
3389         code path.
3390
3391         No new tests because we don't have Pepper plugin tests in WebKit.
3392
3393         * rendering/RenderWidget.cpp:
3394         (WebCore::RenderWidget::updateWidgetGeometry):
3395
3396 2012-08-20  Christophe Dumez  <christophe.dumez@intel.com>
3397
3398         postMessage() in MessagePort.idl does not match spec
3399         https://bugs.webkit.org/show_bug.cgi?id=94477
3400
3401         Reviewed by Kentaro Hara.
3402
3403         Update definition of postMessage() in MessagePort.idl
3404         to match the specification at:
3405         http://www.w3.org/TR/html5/comms.html#messageport
3406
3407         The first argument should be of type 'any', not
3408         'DOMString'.
3409
3410         No new tests, no behavior change.
3411
3412         * dom/MessagePort.idl:
3413
3414 2012-08-20  Sheriff Bot  <webkit.review.bot@gmail.com>
3415
3416         Unreviewed, rolling out r125989.
3417         http://trac.webkit.org/changeset/125989
3418         https://bugs.webkit.org/show_bug.cgi?id=94485
3419
3420         "Two of the new tests always failed on Mac bots" (Requested by
3421         bradee-oh on #webkit).
3422
3423         * css/CSSComputedStyleDeclaration.cpp:
3424         (WebCore):
3425         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3426         * css/CSSParser.cpp:
3427         (WebCore::isValidKeywordPropertyAndValue):
3428         (WebCore::isKeywordPropertyID):
3429         (WebCore::CSSParser::parseValue):
3430         * css/CSSProperty.cpp:
3431         (WebCore::CSSProperty::isInheritedProperty):
3432         * css/CSSPropertyNames.in:
3433         * css/CSSValueKeywords.in:
3434         * css/StyleBuilder.cpp:
3435         (WebCore::StyleBuilder::StyleBuilder):
3436         * rendering/RenderLayer.h:
3437         (RenderLayer):
3438         * rendering/RenderLayerBacking.cpp:
3439         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
3440         (WebCore):
3441         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
3442         * rendering/RenderLayerBacking.h:
3443         (RenderLayerBacking):
3444         * rendering/style/RenderStyle.cpp:
3445         (WebCore::RenderStyle::diff):
3446         * rendering/style/RenderStyle.h:
3447         * rendering/style/StyleRareNonInheritedData.cpp:
3448         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
3449         (WebCore::StyleRareNonInheritedData::operator==):
3450         * rendering/style/StyleRareNonInheritedData.h:
3451         (StyleRareNonInheritedData):
3452
3453 2012-08-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3454
3455         [Qt] Custom tap-highlight-color renders fully opaque
3456         https://bugs.webkit.org/show_bug.cgi?id=94468
3457
3458         Reviewed by Kenneth Rohde Christiansen.
3459
3460         Adjust the default tap-highlight-color to figure in that is will be
3461         drawn semi-transparent.