1 2013-01-03 Adam Klein <adamk@chromium.org>
5 * dom/ContainerNode.cpp:
6 (WebCore::isInTemplateContent): s/UNUSED/UNUSED_PARAM/
8 2013-01-03 Adam Klein <adamk@chromium.org>
10 [HTMLTemplateElement] Disallow cycles within template content
11 https://bugs.webkit.org/show_bug.cgi?id=105066
13 Reviewed by Ojan Vafai.
15 Cycles in <template> content aren't quite as bad as cycles in normal
16 DOM trees, but they can easily cause crashes, e.g. in cloneNode and
19 Shadow DOM has an analagous issue, and this patch tackles that problem
20 at the same time by creating a new method, Node::containsIncludingHostElements.
22 In order to disallow cycles, the HTMLTemplateElement.content
23 DocumentFragment needs a pointer to its host. The approach here
24 creates a new subclass with a host pointer and a new virtual method
25 to DocumentFragment to identify the subclass.
27 To avoid unnecessary virtual function calls, also changed how
28 Document::templateContentsOwnerDocument works to allow fast inlined
29 access and avoid lazy creation when not needed.
31 Tests: fast/dom/HTMLTemplateElement/cycles-in-shadow.html
32 fast/dom/HTMLTemplateElement/cycles.html
33 fast/dom/shadow/shadow-hierarchy-exception.html
35 * GNUmakefile.list.am:
37 * WebCore.vcproj/WebCore.vcproj:
38 * WebCore.xcodeproj/project.pbxproj:
39 * dom/ContainerNode.cpp:
40 (WebCore::isInTemplateContent):
41 (WebCore::containsConsideringHostElements):
42 (WebCore::checkAcceptChild):
44 (WebCore::Document::ensureTemplateContentsOwnerDocument): Renamed to make clear that it lazily creates the Document. Updated all existing callers to call this method.
47 (WebCore::Document::templateContentsOwnerDocument): Fast, inlined accessor for use in checkAcceptChild().
48 * dom/DocumentFragment.h:
49 (WebCore::DocumentFragment::isTemplateContent):
51 (WebCore::Node::containsIncludingShadowDOM): made const, simplified
52 (WebCore::Node::containsIncludingHostElements): Specialized version of Node::contains that knows how to jump over template content boundaries.
55 * dom/TemplateContentDocumentFragment.h: Added.
56 (TemplateContentDocumentFragment): Subclass of DocumentFragment which stores its host template element.
57 (WebCore::TemplateContentDocumentFragment::create):
58 (WebCore::TemplateContentDocumentFragment::host):
59 (WebCore::TemplateContentDocumentFragment::TemplateContentDocumentFragment):
61 (WebCore::createFragmentForInnerOuterHTML):
62 * html/HTMLTemplateElement.cpp:
63 (WebCore::HTMLTemplateElement::content): Construct the new subclass.
65 2013-01-02 Jon Lee <jonlee@apple.com>
67 Revert auto-start plugins to snapshotted plugins after a period of inactivity
68 https://bugs.webkit.org/show_bug.cgi?id=105973
69 <rdar://problem/12947865>
71 Reviewed by Brady Eidson.
73 * html/HTMLPlugInElement.h:
74 (WebCore::HTMLPlugInElement::plugInOriginHash): Expose publicly for WebKit2.
75 Reorganize the protected members of the class.
76 * html/HTMLPlugInImageElement.h: Move the member to HTMLPlugInElement.
78 2013-01-03 Alexis Menard <alexis@webkit.org>
80 Querying transition-timing-function value on the computed style does not return keywords when it should.
81 https://bugs.webkit.org/show_bug.cgi?id=105442
83 Reviewed by Simon Fraser.
85 http://www.w3.org/TR/css3-transitions/#transition-timing-function-property
86 contains a set of predefined timing functions which under the hood are
87 implemented using cubic-bezier but it's an implementation detail that
88 should not be exposed. It seems to be more clear to return a CSS
89 keyword rather than the cubic-bezier form when querying the value of
90 the property on the computed style. In fact the spec even say that for
91 example the initial value is "ease" and not cubic-bezier(0.25, 0.1,
92 0.25, 1.0). We could also imagine that in the future these predefined
93 values could contain other values not represented by a cubic-bezier
94 form. This behavior also align with the "linear" keyword which return
95 "linear" rather than cubic-bezier(0.0, 0.0, 1.0, 1.0).
97 Test: transitions/transitions-parsing.html has been updated to cover
98 the new behavior as well as making sure that an explicitly set value of
99 cubic-bezier(0.25, 0.1, 0.25, 1.0) does not return "ease" but the
102 * css/CSSComputedStyleDeclaration.cpp:
103 (WebCore::createAnimationValue):
105 (WebCore::getTimingFunctionValue):
106 * css/CSSToStyleMap.cpp:
107 (WebCore::CSSToStyleMap::mapAnimationTimingFunction):
108 * platform/animation/TimingFunction.h:
109 (WebCore::CubicBezierTimingFunction::create):
110 (CubicBezierTimingFunction):
111 (WebCore::CubicBezierTimingFunction::operator==):
112 (WebCore::CubicBezierTimingFunction::timingFunctionPreset): Store the
113 preset value of the timing function if it is one when creating it
114 so we can use it later from the computed style.
115 (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction):
117 2013-01-03 Tony Chang <tony@chromium.org>
119 Generate internal.settings from Settings.in
120 https://bugs.webkit.org/show_bug.cgi?id=104740
122 Reviewed by Adam Barth.
124 If the setting is declared in Settings.in and is a basic type, generate a
125 setter function at internals.settings.
127 InternalSettingsGenerated.idl is created by make_settings.pl. InternalSettings.idl
128 inherits from InternalSettingsGenerated.idl so we can override generated functions if
129 needed or add additional custom setters.
131 This patch removes 2 password echo methods from InternalSettings.idl since they are
132 auto generated. There are other methods we could remove, but I'll do that in a followup.
134 No new tests, existing tests should pass. Specifically, editing/input/password* tests should pass.
136 * CMakeLists.txt: Add generated cpp file to the testing lib.
137 * DerivedSources.make: Add generated idl file and specify all the outputs of make_settings.pl
138 * DerivedSources.pri: Generate idl file before generating bindings and include generated idl
139 for bindings generation.
140 * GNUmakefile.am: Specify all the generated files of make_settings.pl. Add generated idl to
141 list of files to be processed and resulting output to be compiled.
142 * UseJSC.cmake: Add generated idl file to list of idl files to process.
143 * UseV8.cmake: Same as UseJSC.cmake.
144 * WebCore.gyp/WebCore.gyp: Run make_settings.pl earlier so we can run the output through the
146 * WebCore.gypi: Add new files.
147 * WebCore.vcproj/WebCoreTestSupport.vcproj: Add new files.
148 * WebCore.xcodeproj/project.pbxproj: Add new files.
149 * bindings/scripts/CodeGenerator.pm:
150 (IDLFileForInterface): Add current directory to the include path so DerivedSources.make can
151 find the generated idl file.
152 * page/make_settings.pl:
153 (generateCode): Generate InternalSettingsGenerated.{idl,h,cpp}.
154 (generateSettingsMacrosHeader): Rename since we're generating 2 headers now.
155 (setterFunctionName): Helper function for naming a setter.
156 (printGetterAndSetter): Use setterFunctionName.
157 (enumerateParsedItems): Helper function that visits each parsed item.
158 (generateInternalSettingsIdlFile): Generate idl file.
159 (generateInternalSettingsHeaderFile): Generate header file.
160 (generateInternalSettingsCppFile): Generate C++ file.
161 * testing/InternalSettings.cpp:
162 (WebCore::InternalSettings::Backup::Backup): Remove password echo members.
163 (WebCore::InternalSettings::Backup::restoreTo): Remove password echo members.
164 (InternalSettingsWrapper): We can't use RefCountedSupplemental because we're we're already
165 RefCounted. Create a wrapper class to wrap the RefCounted InternalSettings for Supplement<>::provideTo,
166 which uses an OwnPtr.
167 (WebCore::InternalSettingsWrapper::InternalSettingsWrapper): Wraps an InternalSettings that the Page can own.
168 (WebCore::InternalSettingsWrapper::~InternalSettingsWrapper): Clear's m_page when the Page goes away.
169 (WebCore::InternalSettingsWrapper::internalSettings): Unwrap InternalSettings.
170 (WebCore::InternalSettings::from): Update to use InternalSettingsWrapper.
171 (WebCore::InternalSettings::InternalSettings): Call base class constructor.
172 (WebCore::InternalSettings::resetToConsistentState): Renamed from reset() and pass through to base class.
173 Also remove unnecessary pageScaleFactor reset (done in Internals::resetToConsistentState).
174 * testing/InternalSettings.h:
175 (Backup): Remove password echo members.
176 (WebCore::InternalSettings::create): Create an instance instead of using new.
177 (WebCore::InternalSettings::hostDestroyed): Clear the page. This is similar to the code that
178 RefCountedSupplemental has.
179 * testing/InternalSettings.idl: Extends InternalSettingsGenerated.
180 * testing/js/WebCoreTestSupport.cpp:
181 (WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
182 * testing/v8/WebCoreTestSupport.cpp:
183 (WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
184 Remove an unused header.
186 2013-01-03 Rik Cabanier <cabanier@adobe.com>
188 Canvas blending tests fail on Mac WK2
189 https://bugs.webkit.org/show_bug.cgi?id=105943
191 Reviewed by Simon Fraser.
194 LayoutTests/fast/canvas/canvas-blend-solid.html
195 LayoutTests/fast/canvas/canvas-blend-image.html
197 * testing/InternalSettings.cpp:
198 (WebCore::InternalSettings::Backup::Backup):
199 (WebCore::InternalSettings::Backup::restoreTo):
200 * testing/InternalSettings.h:
203 2013-01-03 Arko Saha <arko@motorola.com>
205 Microdata: Fix build failure after r137003
206 https://bugs.webkit.org/show_bug.cgi?id=106023
208 Reviewed by Ryosuke Niwa.
210 Set HTMLCollection::namedPropertyGetter as named property getter for
211 HTMLPropertiesCollection in GenerateImplementationNamedPropertyGetter.
213 * bindings/scripts/CodeGeneratorV8.pm:
214 (GenerateImplementationNamedPropertyGetter):
215 * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
216 (WebCore::V8HTMLCollection::namedPropertyGetter):
218 2013-01-03 Adam Klein <adamk@chromium.org>
220 Clear failed image loads when an <img> is adopted into a different document
221 https://bugs.webkit.org/show_bug.cgi?id=104409
223 Reviewed by Nate Chapin.
225 This avoids an assertion failure setImageWithoutConsideringPendingLoadEvent().
227 Test: loader/image-loader-adoptNode-assert.html
229 * loader/ImageLoader.cpp:
230 (WebCore::ImageLoader::updateFromElement): Use new helper.
231 (WebCore::ImageLoader::updateFromElementIgnoringPreviousError): ditto
232 (WebCore::ImageLoader::elementDidMoveToNewDocument): ditto
233 (WebCore::ImageLoader::clearFailedLoadURL): Added a helper method to self-document the code.
235 * loader/ImageLoader.h:
238 2013-01-03 Vincent Scheib <scheib@chromium.org>
240 Sandbox-blocked pointer lock should log to the console.
241 https://bugs.webkit.org/show_bug.cgi?id=105794
243 Reviewed by Adrienne Walker.
245 When pointer lock is requested and is denied due to sandbox restrictions
246 a helpful message to web developers is sent to the developer console.
248 Existing test expectations updated.
250 * page/PointerLockController.cpp:
251 (WebCore::PointerLockController::requestPointerLock):
253 2013-01-03 Tom Sepez <tsepez@chromium.org>
255 PingLoader.h missing virtual and OVERRIDE keywords on its inherited methods.
256 https://bugs.webkit.org/show_bug.cgi?id=105975
258 Reviewed by Nate Chapin.
260 Change adds compile-time checks only, so no new tests.
262 * loader/PingLoader.h:
264 (WebCore::PingLoader::timeout):
266 2013-01-02 Levi Weintraub <leviw@chromium.org>
268 Fix incorrect assumption about in-flow descendants of inlines in touch event rect tracking
269 https://bugs.webkit.org/show_bug.cgi?id=105970
271 Reviewed by Simon Fraser.
273 Correcting the touch event target rect accumulation code to no longer incorrectly assume that
274 non-block renderers held only normal-flow children. The updated code will always walk the
275 complete renderer sub-tree, but only do the work of calculating the absolute rect when the
276 child won't necessarily fall inside its parent (floating, positioned, or transformed).
278 Tests: platform/chromium/fast/events/touch/compositor-touch-hit-rects.html updated to catch bug.
280 * page/scrolling/ScrollingCoordinator.cpp:
281 (WebCore::accumulateRendererTouchEventTargetRects): Walk all renderer sub-trees. Also keeping
282 track of the last added parent container rect to avoid adding redundant rectangles.
283 (WebCore::accumulateDocumentEventTargetRects): Avoiding adding empty rects.
285 2013-01-03 Joshua Bell <jsbell@chromium.org>
287 IndexedDB: Simplify IDBTransactionBackendImpl::scheduleTask usage
288 https://bugs.webkit.org/show_bug.cgi?id=103536
290 Reviewed by Tony Chang.
292 Move responsibility for firing abort errors from requests that arrive on the
293 back-end after an asynchronous transaction abort out of WebCore, since the
294 front-end takes care of this as far as script is concerned.
296 No new tests - no behavior changes.
298 * Modules/indexeddb/IDBCursorBackendImpl.cpp:
299 (WebCore::IDBCursorBackendImpl::continueFunction):
300 (WebCore::IDBCursorBackendImpl::advance):
301 (WebCore::IDBCursorBackendImpl::prefetchContinue):
302 * Modules/indexeddb/IDBIndexBackendImpl.cpp:
303 (WebCore::IDBIndexBackendImpl::openCursor):
304 (WebCore::IDBIndexBackendImpl::openKeyCursor):
305 (WebCore::IDBIndexBackendImpl::count):
306 (WebCore::IDBIndexBackendImpl::get):
307 (WebCore::IDBIndexBackendImpl::getKey):
308 * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
309 (WebCore::IDBObjectStoreBackendImpl::get):
310 (WebCore::IDBObjectStoreBackendImpl::put):
311 (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
312 (WebCore::IDBObjectStoreBackendImpl::clear):
313 (WebCore::IDBObjectStoreBackendImpl::openCursor):
314 (WebCore::IDBObjectStoreBackendImpl::count):
316 2013-01-03 Tiancheng Jiang <tijiang@rim.com>
318 Update BB10 media render theme.
319 https://bugs.webkit.org/show_bug.cgi?id=105728
323 Internally Reviewed by John Griggs.
325 Update GL friendly render method for audio volume.
326 Change the background color for embedded media player to semi-transparent.
327 Change remaining time font color to grey to match full screen video.
328 Change media slider thumb color to blue when pressed.
330 * css/mediaControlsBlackBerry.css:
332 (audio::-webkit-media-controls-embedded-panel, video::-webkit-media-controls-embedded-panel):
333 (video::-webkit-media-controls-time-display-container, audio::-webkit-media-controls-time-display-container):
334 (video::-webkit-media-controls-timeline-container, audio::-webkit-media-controls-timeline-container):
335 (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
336 (video::-webkit-media-controls-time-remaining-display, audio::-webkit-media-controls-time-remaining-display):
337 (audio::-webkit-media-controls-volume-slider-container):
338 * platform/blackberry/RenderThemeBlackBerry.cpp:
339 (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
340 (WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
342 2013-01-03 Sheriff Bot <webkit.review.bot@gmail.com>
344 Unreviewed, rolling out r138640.
345 http://trac.webkit.org/changeset/138640
346 https://bugs.webkit.org/show_bug.cgi?id=106019
348 Causing crashes in multiply() (Requested by danakj on
351 * platform/graphics/transforms/TransformationMatrix.cpp:
353 (WebCore::TransformationMatrix::multiply):
354 * platform/graphics/transforms/TransformationMatrix.h:
355 (TransformationMatrix):
357 2013-01-03 Mike West <mkwst@chromium.org>
359 The 'body' of seamless IFrames should default to 'margin: 0'
360 https://bugs.webkit.org/show_bug.cgi?id=90834
362 Reviewed by Antti Koivisto.
364 Documents displayed in seamless iframes should override the 'body'
365 element's normal 8px default margins with 0px, in order to ensure that
366 contents are displayed flush with the boundries of the seamless box.[1]
368 This patch does so by adding a new pseudoclass to allow the user agent
369 stylesheet to specify a different margin for seamless documents.
371 [1]: http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Jul/0039.html
373 Test: fast/frames/seamless/seamless-body-margin.html
375 * css/CSSSelector.cpp:
376 (WebCore::CSSSelector::pseudoId):
377 (WebCore::nameToPseudoTypeMap):
378 (WebCore::CSSSelector::extractPseudoType):
380 * css/SelectorChecker.cpp:
381 (WebCore::SelectorChecker::checkOneSelector):
383 (body:-webkit-seamless-document):
384 * rendering/style/RenderStyleConstants.h:
385 Define a new pseudoclass: '-webkit-seamless-document', which
386 matches for any element in a document that's rendered in a
389 2013-01-03 Mike West <mkwst@chromium.org>
391 seamless iframes don't inherit styles when srcdoc is used
392 https://bugs.webkit.org/show_bug.cgi?id=103539
394 Reviewed by Antti Koivisto.
396 Seamless iframes populated via a 'srcdoc' attribute should always
397 inherit styles from their parent documents. At the moment, this is
398 only the case when they contain a stylesheet or some other markup
399 that forces a style recalculation on the document. Simple 'srcdoc'
400 attributes (e.g. "srcdoc='<p>This is a comment.</p>'") bail out of
401 recalculating style early, resulting in unstyled appearance.
403 This patch instructs WebCore to treat seamless documents as having an
404 updated StyleResolver regardless of what actions the parser takes,
405 which in turn ensures that the document's style is recalculated
408 Test: fast/frames/seamless/seamless-srcdoc.html
411 (WebCore::Document::implicitOpen):
412 If it's a seamless document, notify it that its StyleResolver isn't
413 what it might have expected.
415 2013-01-03 Allan Sandfeld Jensen <allan.jensen@digia.com>
417 [Qt] Implement SimpleFontData::platformBoundsForGlyph
418 https://bugs.webkit.org/show_bug.cgi?id=104127
420 Reviewed by Jocelyn Turcotte.
422 Implements platformBoundsForGlyph which is necessary for working MathML and Ruby.
424 * platform/graphics/qt/SimpleFontDataQt.cpp:
425 (WebCore::SimpleFontData::platformBoundsForGlyph):
427 2013-01-02 Steve Block <steveblock@chromium.org>
429 Remove superfluous 'IntPoint toPoint(const IntSize&)'
430 https://bugs.webkit.org/show_bug.cgi?id=105993
432 Reviewed by Eric Seidel.
434 Refactoring only, no change in behavior.
436 * accessibility/AccessibilityObject.cpp:
437 (WebCore::AccessibilityObject::elementAccessibilityHitTest):
438 * accessibility/AccessibilityRenderObject.cpp:
439 (WebCore::AccessibilityRenderObject::remoteSVGElementHitTest):
440 * page/EventHandler.cpp:
441 (WebCore::EventHandler::handleDrag):
442 * page/scrolling/ScrollingCoordinator.cpp:
443 (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
444 * page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
445 (WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
446 * platform/graphics/IntPoint.h:
447 * rendering/RenderLayer.cpp:
448 (WebCore::RenderLayer::scrollToOffset):
449 (WebCore::RenderLayer::offsetFromResizeCorner):
450 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
452 2013-01-02 Huang Dongsung <luxtella@company100.net>
454 [TexMap] Remove m_size in TextureMapperLayer.
455 https://bugs.webkit.org/show_bug.cgi?id=105781
457 Reviewed by Noam Rosenthal.
459 m_size is duplicated by State::size, so this patch removes it.
461 No new tests. Refactoring only.
463 * platform/graphics/texmap/TextureMapperLayer.cpp:
464 (WebCore::TextureMapperLayer::computeTransformsRecursive):
465 (WebCore::TextureMapperLayer::paintSelf):
466 (WebCore::TextureMapperLayer::isVisible):
467 (WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):
468 * platform/graphics/texmap/TextureMapperLayer.h:
469 (WebCore::TextureMapperLayer::layerRect):
470 (TextureMapperLayer):
472 2013-01-02 Kenneth Russell <kbr@google.com>
474 [chromium] Creation of dedicated workers (isolates) leaks reference to HTMLDocument
475 https://bugs.webkit.org/show_bug.cgi?id=105367
477 Reviewed by Dmitry Titov.
479 Eliminated a Chromium-specific object wrapping WorkerMessagingProxy in order to fix a
480 lifetime management bug, which leaked every Document which started a dedicated worker.
482 Test: fast/workers/worker-document-leak.html
484 * workers/WorkerLoaderProxy.h:
486 Added Chromium-specific casting method to bridge two now-distinct class hierarchies.
487 * workers/WorkerMessagingProxy.h:
488 (WorkerMessagingProxy):
489 Made destructor protected instead of private to allow subclassing.
491 2013-01-02 Elliott Sprehn <esprehn@chromium.org>
493 Make ClassList::reset's purpose obvious and don't keep quirks string when not needed
494 https://bugs.webkit.org/show_bug.cgi?id=105963
496 Reviewed by Ojan Vafai.
498 ClassList::reset only exists to handle updating the special SpaceSplitString
499 for quirks mode documents. This adds a new method that makes this obvious and
500 instead of updating the string immediately clear the value and lazily
501 update it. We also clear the value whenever we're inserted into the
502 document so that when moving from a quirks mode document to a non-quirks
503 mode document we don't keep the SpaceSplitString around if it's not needed.
505 No new tests, I'm not sure how to write a test that we don't keep the
506 SpaceSplitString when moving between quirks and non-quirks mode documents.
509 (WebCore::Element::classAttributeChanged):
510 (WebCore::Element::insertedInto):
513 * dom/ElementRareData.h:
514 (WebCore::ElementRareData::clearClassListValueForQuirksMode):
515 * html/ClassList.cpp:
517 (WebCore::ClassList::clearValueForQuirksMode):
519 2013-01-02 Adam Barth <abarth@webkit.org>
521 [V8] V8DOMWrapper.cpp has many more includes than necessary
522 https://bugs.webkit.org/show_bug.cgi?id=105968
524 Reviewed by Kentaro Hara.
526 Now that this file isn't in charge of doing everything under the sun,
527 it can have a more focused set of include directives.
529 * bindings/v8/V8DOMWrapper.cpp:
531 2013-01-02 Gyuyoung Kim <gyuyoung.kim@samsung.com>
533 [EFL][CMAKE] Remove duplicated conditionals
534 https://bugs.webkit.org/show_bug.cgi?id=105905
536 Reviewed by Laszlo Gombos.
538 Remove conditionals from CMake build system, where the files being built are already wrapped with
539 the conditionals. It just messes cmake file up.
543 2013-01-02 Alexey Proskuryakov <ap@apple.com>
547 * platform/network/cf/FormDataStreamCFNet.cpp: (WebCore::formFinalize):
548 Use ASSERT_UNUSED for an otherwise unused variable.
550 2013-01-02 Tony Chang <tony@chromium.org>
552 Unreviewed, rolling out r138661.
553 http://trac.webkit.org/changeset/138661
554 https://bugs.webkit.org/show_bug.cgi?id=104740
556 Compile problems on EFL
559 * DerivedSources.make:
560 * DerivedSources.pri:
564 * WebCore.gyp/WebCore.gyp:
566 * WebCore.vcproj/WebCoreTestSupport.vcproj:
567 * WebCore.xcodeproj/project.pbxproj:
568 * bindings/scripts/CodeGenerator.pm:
569 (IDLFileForInterface):
570 * page/make_settings.pl:
573 (printGetterAndSetter):
575 * testing/InternalSettings.cpp:
576 (WebCore::InternalSettings::Backup::Backup):
577 (WebCore::InternalSettings::Backup::restoreTo):
578 (WebCore::InternalSettings::from):
579 (WebCore::InternalSettings::InternalSettings):
580 (WebCore::InternalSettings::reset):
581 (WebCore::InternalSettings::setPasswordEchoEnabled):
583 (WebCore::InternalSettings::setPasswordEchoDurationInSeconds):
584 * testing/InternalSettings.h:
587 * testing/InternalSettings.idl:
588 * testing/js/WebCoreTestSupport.cpp:
589 (WebCoreTestSupport::resetInternalsObject):
590 * testing/v8/WebCoreTestSupport.cpp:
591 (WebCoreTestSupport::resetInternalsObject):
593 2013-01-02 Adam Barth <abarth@webkit.org>
595 [V8] There are some extra blank lines after removing INC_STATS
596 https://bugs.webkit.org/show_bug.cgi?id=105964
598 Reviewed by Ojan Vafai.
600 This patch is a followup to http://trac.webkit.org/changeset/138665
601 that removes some extra blank lines that sed wasn't smart enough to
604 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
605 (WebCore::V8CSSStyleDeclaration::namedPropertyQuery):
606 * bindings/v8/custom/V8DOMFormDataCustom.cpp:
607 (WebCore::V8DOMFormData::appendCallback):
608 * bindings/v8/custom/V8DOMWindowCustom.cpp:
609 (WebCore::V8DOMWindow::addEventListenerCallback):
610 (WebCore::V8DOMWindow::removeEventListenerCallback):
611 (WebCore::V8DOMWindow::postMessageCallback):
612 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
613 (WebCore::V8DedicatedWorkerContext::postMessageCallback):
614 * bindings/v8/custom/V8DocumentCustom.cpp:
615 (WebCore::V8Document::evaluateCallback):
616 * bindings/v8/custom/V8GeolocationCustom.cpp:
617 (WebCore::V8Geolocation::getCurrentPositionCallback):
618 (WebCore::V8Geolocation::watchPositionCallback):
619 * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
620 (WebCore::V8HTMLAllCollection::namedPropertyGetter):
621 * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
622 (WebCore::V8HTMLCollection::namedPropertyGetter):
623 * bindings/v8/custom/V8HTMLFormControlsCollectionCustom.cpp:
624 (WebCore::V8HTMLFormControlsCollection::namedPropertyGetter):
625 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
626 (WebCore::v8HTMLImageElementConstructorCallback):
627 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
628 (WebCore::V8HTMLOptionsCollection::namedPropertyGetter):
629 * bindings/v8/custom/V8MessagePortCustom.cpp:
630 (WebCore::V8MessagePort::postMessageCallback):
631 * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
632 (WebCore::V8NamedNodeMap::namedPropertyGetter):
633 * bindings/v8/custom/V8NotificationCustom.cpp:
634 (WebCore::V8Notification::requestPermissionCallback):
635 * bindings/v8/custom/V8PopStateEventCustom.cpp:
636 (WebCore::V8PopStateEvent::stateAccessorGetter):
637 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
638 (WebCore::V8SQLResultSetRowList::itemCallback):
639 * bindings/v8/custom/V8SQLTransactionCustom.cpp:
640 (WebCore::V8SQLTransaction::executeSqlCallback):
641 * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
642 (WebCore::V8SQLTransactionSync::executeSqlCallback):
643 * bindings/v8/custom/V8StorageCustom.cpp:
644 (WebCore::V8Storage::namedPropertyQuery):
645 * bindings/v8/custom/V8StyleSheetListCustom.cpp:
646 (WebCore::V8StyleSheetList::namedPropertyGetter):
647 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
648 (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
649 (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
650 (WebCore::V8WebGLRenderingContext::getParameterCallback):
651 (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
652 (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
653 (WebCore::V8WebGLRenderingContext::getUniformCallback):
654 * bindings/v8/custom/V8WorkerCustom.cpp:
655 (WebCore::V8Worker::postMessageCallback):
657 2013-01-02 Alexey Proskuryakov <ap@apple.com>
659 [WK2 NetworkProcess] Uploading fails if a client modified the request
660 https://bugs.webkit.org/show_bug.cgi?id=105965
662 Reviewed by Brady Eidson.
664 Associating streams with additional information via a side HashMap does not work,
665 because the stream we can see is an internal one, with address and other information
666 not matching a stream that we created.
668 It's surprising that this design issue was not causing major trouble without NetworkProcess.
670 * platform/network/cf/FormDataStreamCFNet.cpp:
671 (WebCore): Renamed FormContext to FormCreationContext, because this type only used
672 for creation. Later, we use FormStreamFields as context.
673 (WebCore::closeCurrentStream): Moved a star.
674 (WebCore::formCreate): We no longer have a side map to keep updated.
675 (WebCore::formFinalize): Ditto.
676 (WebCore::formCopyProperty): Added an accessor to get FormData pointer from a stream.
677 (WebCore::setHTTPBody): Ditto.
678 (WebCore::httpBodyFromStream): Use the new property to get FormData pointer.
680 2013-01-02 Elliott Sprehn <esprehn@chromium.org>
682 Clean up dispatchEvent overrides and overloads
683 https://bugs.webkit.org/show_bug.cgi?id=105959
685 Reviewed by Adam Barth.
687 Add OVERRIDE to all dispatchEvent overrides and use "using" instead of
688 reimplementing EventTarget::dispatchEvent in subclasses where having the
689 virtual override of dispatchEvent hides the overloads in
692 No new tests, just refactoring.
694 * Modules/indexeddb/IDBDatabase.h:
696 * Modules/indexeddb/IDBOpenDBRequest.h:
698 * Modules/indexeddb/IDBRequest.h:
700 * Modules/indexeddb/IDBTransaction.h:
702 * dom/EventDispatchMediator.h:
703 (FocusEventDispatchMediator):
704 (BlurEventDispatchMediator):
705 * dom/GestureEvent.h:
706 (GestureEventDispatchMediator):
707 * dom/KeyboardEvent.h:
708 (KeyboardEventDispatchMediator):
713 (FocusInEventDispatchMediator):
714 (FocusOutEventDispatchMediator):
716 (WheelEventDispatchMediator):
717 * html/HTMLMediaElement.h:
718 * html/track/TextTrackCue.cpp:
719 * html/track/TextTrackCue.h:
723 * svg/SVGElementInstance.h:
724 (SVGElementInstance):
726 2013-01-02 David Grogan <dgrogan@chromium.org>
728 IndexedDB: Surface a few more leveldb errors.
729 https://bugs.webkit.org/show_bug.cgi?id=105670
731 Reviewed by Tony Chang.
733 Two calls to old LevelDBTransaction::get slipped through the cracks.
735 * Modules/indexeddb/IDBBackingStore.cpp:
736 (WebCore::IndexKeyCursorImpl::loadCurrentRow):
737 (WebCore::IndexCursorImpl::loadCurrentRow):
738 Make these two functions use safeGet instead of get.
740 * platform/leveldb/LevelDBTransaction.cpp:
741 * platform/leveldb/LevelDBTransaction.h:
742 Remove get now that it is unused.
744 2013-01-02 Bem Jones-Bey <bjonesbe@adobe.com>
746 When a block's height is determined by min-height/max-height, children with percentage heights are sized incorrectly
747 https://bugs.webkit.org/show_bug.cgi?id=26559
749 Reviewed by Tony Chang.
751 Percentage logical height computation now takes into account the min and max height of the container.
753 Test: fast/block/min-max-height-percent-height-child.html
755 * rendering/RenderBox.cpp:
756 (WebCore::RenderBox::constrainContentBoxLogicalHeightByMinMax): Added. Like constrainLogicalHeightByMinMax,
757 but constrains the content box instead of the border box.
759 (WebCore::RenderBox::computeContentLogicalHeight): Make const so it can be called from the const method
760 constrainContentBoxLogicalHeightByMinMax.
761 (WebCore::RenderBox::computePercentageLogicalHeight): Use constrainContentBoxLogicalHeightByMinMax to properly
762 respect min and max height on the containing box when computing the percentage height.
763 * rendering/RenderBox.h:
766 2013-01-02 Tony Chang <tony@chromium.org>
768 Unreviewed, force InternalSettings.cpp to rebuild to try and fix the Apple Win build.
770 * testing/InternalSettings.cpp:
772 2013-01-02 Alec Flett <alecflett@chromium.org>
774 IndexedDB: Use non-const buffers in put() to avoid copies
775 https://bugs.webkit.org/show_bug.cgi?id=105572
777 Reviewed by Adam Barth.
779 Change the new put() method to allow the implementation to consume
780 or adopt the vector, to avoid copying.
782 No new tests as this is an interface change that will be implemented later.
784 * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
785 (WebCore::IDBDatabaseBackendImpl::put):
786 * Modules/indexeddb/IDBDatabaseBackendImpl.h:
787 (IDBDatabaseBackendImpl):
788 * Modules/indexeddb/IDBDatabaseBackendInterface.h:
790 2013-01-02 Adam Barth <abarth@webkit.org>
792 [V8] Remove INC_STATS because it is unused
793 https://bugs.webkit.org/show_bug.cgi?id=105957
795 Reviewed by Ojan Vafai.
797 We haven't been able to compile with INC_STATS turned on in a long
798 time. This patch just removes this ancient cruft. I generated this
801 find . -type f | xargs sed -i '/INC_STATS/d'
803 and then fixing up V8BindingMacros.h.
805 2013-01-02 Tony Chang <tony@chromium.org>
807 Generate internal.settings from Settings.in
808 https://bugs.webkit.org/show_bug.cgi?id=104740
810 Reviewed by Adam Barth.
812 If the setting is declared in Settings.in and is a basic type, generate a
813 setter function at internals.settings.
815 InternalSettingsGenerated.idl is created by make_settings.pl. InternalSettings.idl
816 inherits from InternalSettingsGenerated.idl so we can override generated functions if
817 needed or add additional custom setters.
819 This patch removes 2 password echo methods from InternalSettings.idl since they are
820 auto generated. There are other methods we could remove, but I'll do that in a followup.
822 No new tests, existing tests should pass. Specifically, editing/input/password* tests should pass.
824 * CMakeLists.txt: Add generated cpp file to the testing lib.
825 * DerivedSources.make: Add generated idl file and specify all the outputs of make_settings.pl
826 * DerivedSources.pri: Generate idl file before generating bindings and include generated idl
827 for bindings generation.
828 * GNUmakefile.am: Specify all the generated files of make_settings.pl. Add generated idl to
829 list of files to be processed and resulting output to be compiled.
830 * UseJSC.cmake: Add generated idl file to list of idl files to process.
831 * UseV8.cmake: Same as UseJSC.cmake.
832 * WebCore.gyp/WebCore.gyp: Run make_settings.pl earlier so we can run the output through the
834 * WebCore.gypi: Add new files.
835 * WebCore.vcproj/WebCoreTestSupport.vcproj: Add new files.
836 * WebCore.xcodeproj/project.pbxproj: Add new files.
837 * bindings/scripts/CodeGenerator.pm:
838 (IDLFileForInterface): Add current directory to the include path so DerivedSources.make can
839 find the generated idl file.
840 * page/make_settings.pl:
841 (generateCode): Generate InternalSettingsGenerated.{idl,h,cpp}.
842 (generateSettingsMacrosHeader): Rename since we're generating 2 headers now.
843 (setterFunctionName): Helper function for naming a setter.
844 (printGetterAndSetter): Use setterFunctionName.
845 (enumerateParsedItems): Helper function that visits each parsed item.
846 (generateInternalSettingsIdlFile): Generate idl file.
847 (generateInternalSettingsHeaderFile): Generate header file.
848 (generateInternalSettingsCppFile): Generate C++ file.
849 * testing/InternalSettings.cpp:
850 (WebCore::InternalSettings::Backup::Backup): Remove password echo members.
851 (WebCore::InternalSettings::Backup::restoreTo): Remove password echo members.
852 (InternalSettingsWrapper): We can't use RefCountedSupplemental because we're we're already
853 RefCounted. Create a wrapper class to wrap the RefCounted InternalSettings for Supplement<>::provideTo,
854 which uses an OwnPtr.
855 (WebCore::InternalSettingsWrapper::InternalSettingsWrapper): Wraps an InternalSettings that the Page can own.
856 (WebCore::InternalSettingsWrapper::~InternalSettingsWrapper): Clear's m_page when the Page goes away.
857 (WebCore::InternalSettingsWrapper::internalSettings): Unwrap InternalSettings.
858 (WebCore::InternalSettings::from): Update to use InternalSettingsWrapper.
859 (WebCore::InternalSettings::InternalSettings): Call base class constructor.
860 (WebCore::InternalSettings::resetToConsistentState): Renamed from reset() and pass through to base class.
861 Also remove unnecessary pageScaleFactor reset (done in Internals::resetToConsistentState).
862 * testing/InternalSettings.h:
863 (Backup): Remove password echo members.
864 (WebCore::InternalSettings::create): Create an instance instead of using new.
865 (WebCore::InternalSettings::hostDestroyed): Clear the page. This is similar to the code that
866 RefCountedSupplemental has.
867 * testing/InternalSettings.idl: Extends InternalSettingsGenerated.
868 * testing/js/WebCoreTestSupport.cpp:
869 (WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
870 * testing/v8/WebCoreTestSupport.cpp:
871 (WebCoreTestSupport::resetInternalsObject): Rename to resetToConsistentState to be like other code.
872 Remove an unused header.
874 2013-01-02 Adam Barth <abarth@webkit.org>
876 HTML preload scanner doesn't need to remember whether we're scanning the body
877 https://bugs.webkit.org/show_bug.cgi?id=105945
879 Reviewed by Eric Seidel.
881 As far as I can tell, no one uses this state.
883 * html/parser/CSSPreloadScanner.cpp:
884 (WebCore::CSSPreloadScanner::CSSPreloadScanner):
885 (WebCore::CSSPreloadScanner::scan):
886 (WebCore::CSSPreloadScanner::emitRule):
887 * html/parser/CSSPreloadScanner.h:
889 * html/parser/HTMLPreloadScanner.cpp:
890 (WebCore::PreloadTask::preload):
891 (WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
892 (WebCore::HTMLPreloadScanner::processToken):
893 * html/parser/HTMLPreloadScanner.h:
894 (HTMLPreloadScanner):
895 * loader/cache/CachedResourceLoader.cpp:
896 (WebCore::CachedResourceLoader::preload):
897 * loader/cache/CachedResourceLoader.h:
898 (CachedResourceLoader):
900 2013-01-02 Abhishek Arya <inferno@chromium.org>
902 Crash in WebCore::Element::cloneElementWithoutChildren.
903 https://bugs.webkit.org/show_bug.cgi?id=105949
905 Reviewed by Ryosuke Niwa.
907 RefPtr |ancestors| vector since its elements can be destroyed from mutation events
908 fired in CompositeEditCommand::appendNode.
910 No new tests. The testcase relies on recursive DOM mutations and does not minimize.
912 * editing/InsertParagraphSeparatorCommand.cpp:
913 (WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock):
914 (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
915 (WebCore::InsertParagraphSeparatorCommand::doApply):
916 * editing/InsertParagraphSeparatorCommand.h:
917 (InsertParagraphSeparatorCommand):
919 2013-01-02 Douglas Stockwell <dstockwell@chromium.org>
921 Crash in WebCore::InlineBox::deleteLine
922 https://bugs.webkit.org/show_bug.cgi?id=93448
924 Reviewed by Eric Seidel.
926 When we ran off the end of the line while looking for line breaks in an
927 inline with white-space:nowrap nested in a block with white-space:pre
928 it was possible for the line break to be set at or before the current
929 position -- this could result in duplications in the render tree or
932 This patch changes the "fixup" logic that runs after we have finished
933 iterating through elements and text and have potentially found a break
934 point. In the case of a block setting white-space:pre we would back up
935 a character in some cases. Not doing so could leave whitespace that
936 should have been collapsed at the end of an inline.
938 For example in '<span style="white-space:nowrap">x_</span>_y' if a
939 break was inserted before 'y' the space after 'x' would still be
940 rendered (rather than be collapsed with the break).
942 To avoid this problem we will not take the opportunity to break until
943 we have finished collapsing whitespace.
945 Tests: fast/text/whitespace/inline-whitespace-wrapping-1.html
946 fast/text/whitespace/inline-whitespace-wrapping-2.html
947 fast/text/whitespace/inline-whitespace-wrapping-3.html
948 fast/text/whitespace/inline-whitespace-wrapping-4.html
949 fast/text/whitespace/nowrap-white-space-collapse.html
950 fast/text/whitespace/pre-block-normal-inline-crash-1.html
951 fast/text/whitespace/pre-block-normal-inline-crash-2.html
953 * rendering/RenderBlockLineLayout.cpp:
954 (WebCore::RenderBlock::LineBreaker::nextLineBreak): Collapse
955 whitespace before breaking. Avoid setting the break before the current
958 2013-01-02 Adam Barth <abarth@webkit.org>
960 Remove webkitPostMessage
961 https://bugs.webkit.org/show_bug.cgi?id=105910
963 Reviewed by Kentaro Hara.
965 The vendor-prefixed version of postMessage was never widely used.
966 We've been compiling it out of the Chromium port for a while now and
967 haven't received any reports of compatibility problems. I've done a
968 number of web searches for uses of the API and personally contacted a
969 handful of authors I found using the API, all of whom have now moved to
970 the identical unprefixed API. We've publicied the prefix removal in a
973 http://blog.chromium.org/2012/11/a-web-developers-guide-to-latest-chrome.html
975 and discussed it on webkit-dev:
977 http://lists.macosforge.org/pipermail/webkit-dev/2012-September/022189.html
979 We've done our diligence, and now we should remove the API from the
980 remainder of the ports.
982 * bindings/js/JSDOMWindowCustom.cpp:
983 * bindings/js/JSDedicatedWorkerContextCustom.cpp:
984 * bindings/js/JSMessagePortCustom.cpp:
985 * bindings/js/JSWorkerCustom.cpp:
986 * bindings/v8/custom/V8DOMWindowCustom.cpp:
987 (WebCore::V8DOMWindow::postMessageCallback):
988 * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
989 (WebCore::V8DedicatedWorkerContext::postMessageCallback):
990 * bindings/v8/custom/V8MessagePortCustom.cpp:
991 (WebCore::V8MessagePort::postMessageCallback):
992 * bindings/v8/custom/V8WorkerCustom.cpp:
993 (WebCore::V8Worker::postMessageCallback):
994 * dom/MessagePort.idl:
995 * page/DOMWindow.idl:
996 * workers/DedicatedWorkerContext.idl:
997 * workers/Worker.idl:
999 2013-01-02 Benjamin Poulain <benjamin@webkit.org>
1001 Optimize TransformationMatrix::multiply() for x86_64
1002 https://bugs.webkit.org/show_bug.cgi?id=105719
1004 Reviewed by Sam Weinig.
1006 On x86_64, we have access to 16 XMM registers. This can hold 32 double values.
1007 We can use that in two ways to optimize matrix multiplications:
1008 -Keep the source matrix completely in registers. Write the result directly in
1009 the source matrix's memory. This avoids the memcpy at the end of the multiplication
1010 and various memory operations.
1011 -Use SIMD with SSE to perform 2 operations at a time.
1013 The parameter from the second matrix are loaded one by one in XMM registers.
1014 Loading them with SSE then shuffling the values perform worse than loading
1017 This is only enabled on 64bits as x86 only has access to 8 XMM registers and
1018 the function should be written differently.
1020 On a i5, TransformationMatrix::multiply() perform about 3 times faster with the change.
1022 * platform/graphics/transforms/TransformationMatrix.cpp:
1023 (WebCore::TransformationMatrix::multiply):
1024 * platform/graphics/transforms/TransformationMatrix.h:
1025 (TransformationMatrix): Fix an incorrect comment. Unify the comment with the cpp file.
1027 2013-01-02 Mike West <mkwst@chromium.org>
1029 Clean up the loadXXXStyle() idiom in StyleResolver.
1030 https://bugs.webkit.org/show_bug.cgi?id=105903
1032 Reviewed by Darin Adler.
1034 This patch refactors 'loadViewSourceStyle' in order to avoid the
1035 necessity of each call site checking whether the relevant data has
1036 been loaded. The new 'viewSourceStyle' will load the data if required,
1037 and return a pointer which can be used directly.
1039 No new tests, as this refactoring should exhibit no visible change in
1042 * css/StyleResolver.cpp:
1043 (WebCore::viewSourceStyle):
1044 Lazily populate the static 'defaultViewSourceStyle' with data. I
1045 haven't removed the outer variable, as it's used directly in
1046 StyleResolver::reportMemoryUsage.
1047 (WebCore::StyleResolver::matchUARules):
1048 (WebCore::StyleResolver::collectFeatures):
1049 Use the new hotness rather than the old, lame method.
1051 2013-01-02 Sheriff Bot <webkit.review.bot@gmail.com>
1053 Unreviewed, rolling out r138627.
1054 http://trac.webkit.org/changeset/138627
1055 https://bugs.webkit.org/show_bug.cgi?id=105935
1057 This patch doesn't fix Windows port build failure (Requested
1058 by rniwa on #webkit).
1060 * WebCore.vcproj/WebCore.vcproj:
1062 2013-01-02 Elliott Sprehn <esprehn@chromium.org>
1064 Transitions and animations do not apply to CSS ::before and ::after pseudo-elements
1065 https://bugs.webkit.org/show_bug.cgi?id=92591
1067 Reviewed by Eric Seidel.
1069 The new DOM based :before and :after pseudo elements support animations
1070 and transitions already, but I had disabled support so we could turn them
1071 on in a separate step. This patch just removes the checks and adds tests.
1073 This also adds two methods to internals to allow pausing animations and
1074 transitions on pseudo elements at predictable locations so the tests
1077 Tests: fast/css-generated-content/pseudo-animation.html
1078 fast/css-generated-content/pseudo-transition.html
1081 * page/animation/AnimationController.cpp:
1082 (WebCore::AnimationController::updateAnimations):
1083 * testing/Internals.cpp:
1084 (WebCore::Internals::pauseAnimationAtTimeOnPseudoElement):
1085 (WebCore::Internals::pauseTransitionAtTimeOnPseudoElement):
1086 * testing/Internals.h:
1088 * testing/Internals.idl:
1090 2013-01-02 Chris Rogers <crogers@google.com>
1092 Implement WebIDL-style string constants in WebAudio
1093 https://bugs.webkit.org/show_bug.cgi?id=105058
1095 Reviewed by Kentaro Hara.
1097 See Deprecation Notes for more detail:
1098 https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#DeprecationNotes
1100 PannerNode, BiquadFilterNode, OscillatorNode constants must support WebIDL-style string constants.
1101 Legacy support in the setters for the old integer values should be supported.
1103 This patch handles the changes for OscillatorNode.
1105 * GNUmakefile.list.am:
1106 * Modules/webaudio/OscillatorNode.cpp:
1107 (WebCore::OscillatorNode::OscillatorNode):
1108 (WebCore::OscillatorNode::type):
1110 (WebCore::OscillatorNode::setType):
1111 * Modules/webaudio/OscillatorNode.h:
1112 * Modules/webaudio/OscillatorNode.idl:
1117 * WebCore.xcodeproj/project.pbxproj:
1118 * bindings/js/JSOscillatorNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/OscillatorNode.idl.
1120 (WebCore::JSOscillatorNode::setType):
1121 * bindings/v8/custom/V8OscillatorNodeCustom.cpp: Copied from Source/WebCore/Modules/webaudio/OscillatorNode.idl.
1123 (WebCore::V8OscillatorNode::typeAccessorSetter):
1125 2013-01-02 Robert Hogan <robert@webkit.org>
1127 Regression (r132935): WebKit breaks between <nobr> tags
1128 https://bugs.webkit.org/show_bug.cgi?id=11857
1130 Reviewed by David Hyatt.
1132 The fix for bug 29648 in http://trac.webkit.org/changeset/132935 was too broad - it caused us
1133 to find linebreaks in autowrap containers between non-wrapping elements where there was no
1134 whitespace to allow the break. This reverts the code change in r132935 and ensures we attempt
1135 to move below floats when inside an autowrap container but leaves the treatment of non-wrapping
1136 elements in an autowrap container unaffected.
1138 Test: fast/inline/break-between-nobr.html
1140 * rendering/RenderBlockLineLayout.cpp:
1141 (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
1143 2013-01-02 Ryosuke Niwa <rniwa@webkit.org>
1145 Another Windows port build fix attempt. Don't try to build WTF files in WebCore.
1147 Rubber-stamped by Sam Weinig.
1149 * WebCore.vcproj/WebCore.vcproj:
1151 2013-01-02 Kondapally Kalyan <kalyan.kondapally@intel.com>
1153 [EFL] [WebGL] Minor cleanup in PlatformContext.
1154 https://bugs.webkit.org/show_bug.cgi?id=105872
1156 Reviewed by Kenneth Rohde Christiansen.
1158 The logic to check for supported extensions is scattered in different classes i.e PlatformContext, eglcontext etc.
1159 This patch cleans up any duplicate code and adds new api in GLPlatformContext to query for supported GL, EGL and GLX extensions.
1161 * PlatformEfl.cmake:
1162 * platform/graphics/opengl/GLPlatformContext.cpp:
1164 (WebCore::GLPlatformContext::createContext):
1165 (WebCore::GLPlatformContext::supportsGLExtension):
1166 (WebCore::GLPlatformContext::supportsEGLExtension):
1167 (WebCore::GLPlatformContext::supportsGLXExtension):
1168 (WebCore::GLPlatformContext::makeCurrent):
1169 (WebCore::GLPlatformContext::initializeResetStatusExtension):
1170 * platform/graphics/opengl/GLPlatformContext.h:
1171 * platform/graphics/surfaces/egl/EGLContext.cpp:
1172 (WebCore::isRobustnessExtSupported):
1173 (WebCore::EGLOffScreenContext::initialize):
1174 * platform/graphics/surfaces/glx/GLXContext.cpp:
1175 (WebCore::initializeARBExtensions):
1176 (WebCore::GLXOffScreenContext::initialize):
1178 2013-01-02 Sheriff Bot <webkit.review.bot@gmail.com>
1180 Unreviewed, rolling out r138601.
1181 http://trac.webkit.org/changeset/138601
1182 https://bugs.webkit.org/show_bug.cgi?id=105917
1184 Also not an optimal solution, needs more discussion.
1185 (Requested by mkwst_ on #webkit).
1188 (WebCore::Document::finishedParsing):
1190 2013-01-02 Sheriff Bot <webkit.review.bot@gmail.com>
1192 Unreviewed, rolling out r138611.
1193 http://trac.webkit.org/changeset/138611
1194 https://bugs.webkit.org/show_bug.cgi?id=105916
1196 Not an optimal solution, needs more discussion. (Requested by
1200 * DerivedSources.make:
1201 * DerivedSources.pri:
1203 * WebCore.gyp/WebCore.gyp:
1204 * WebCore.vcproj/WebCore.vcproj:
1205 * css/StyleResolver.cpp:
1207 (WebCore::StyleResolver::matchUARules):
1208 (WebCore::StyleResolver::collectFeatures):
1209 (WebCore::StyleResolver::reportMemoryUsage):
1210 * css/seamless.css: Removed.
1212 2013-01-02 Sudarsana Nagineni <sudarsana.nagineni@intel.com>
1214 [AC] Memory leak in GraphicsSurfacePrivate::findFBConfigWithAlpha()
1215 https://bugs.webkit.org/show_bug.cgi?id=105770
1217 Reviewed by Noam Rosenthal.
1219 Free the memory returned by glXGetVisualFromFBConfig() using
1220 XFree to avoid a memory leak.
1222 No new tests. No change in behavior.
1224 * platform/graphics/surfaces/glx/GraphicsSurfaceGLX.cpp:
1225 (WebCore::GraphicsSurfacePrivate::findFBConfigWithAlpha):
1227 2013-01-02 Mike West <mkwst@chromium.org>
1229 The 'body' of seamless IFrames should default to 'margin: 0'
1230 https://bugs.webkit.org/show_bug.cgi?id=90834
1232 Reviewed by Eric Seidel.
1234 Documents displayed in seamless iframes should override the 'body'
1235 element's normal 8px default margins with 0px, in order to ensure that
1236 contents are displayed flush with the boundries of the seamless box.[1]
1238 This patch does so by adding a new user agent stylesheet for seamless
1239 documents, and teaching the StyleResolver how and when to apply it.
1241 [1]: http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Jul/0039.html
1243 Test: fast/frames/seamless/seamless-body-margin.html
1245 * DerivedSources.make:
1246 * DerivedSources.pri:
1248 * WebCore.gyp/WebCore.gyp:
1249 * WebCore.vcproj/WebCore.vcproj:
1251 Added a new CSS file! Let's tell everyone!
1252 * css/StyleResolver.cpp:
1254 (WebCore::loadSeamlessStyle):
1255 (WebCore::StyleResolver::matchUARules):
1256 (WebCore::StyleResolver::collectFeatures):
1257 (WebCore::StyleResolver::reportMemoryUsage):
1258 Load the new stylesheet, and apply it to the document in
1259 matchUARules iff the document should be displayed seamlessly.
1260 * css/seamless.css: Added.
1262 Stylesheet containing defaults for seamless documents.
1264 2013-01-01 Dan Bernstein <mitz@apple.com>
1266 <rdar://problem/12942239> Update copyright strings
1268 Reviewed by Sam Weinig.
1272 2013-01-01 KwangYong Choi <ky0.choi@samsung.com>
1274 [EFL] Enable MHTML feature
1275 https://bugs.webkit.org/show_bug.cgi?id=105815
1277 Reviewed by Laszlo Gombos.
1279 Add application/x-mimearchive type to archive mime types.
1280 Add mht and mhtml to extension map.
1282 No new tests. Existing layout tests pass.
1284 * loader/archive/ArchiveFactory.cpp:
1285 (WebCore::archiveMIMETypes):
1286 * platform/efl/MIMETypeRegistryEfl.cpp:
1289 2013-01-01 Mike West <mkwst@chromium.org>
1291 seamless iframes don't inherit styles when srcdoc is used
1292 https://bugs.webkit.org/show_bug.cgi?id=103539
1294 Reviewed by Eric Seidel.
1296 Seamless iframes populated via a 'srcdoc' attribute should always
1297 inherit styles from their parent documents. At the moment, this is
1298 only the case when they contain a stylesheet or some other markup
1299 that forces a style recalculation on the document. Simple 'srcdoc'
1300 attributes (e.g. "srcdoc='<p>This is a comment.</p>'") bail out of
1301 recalculating style early, resulting in unstyled appearance.
1303 This patch instructs WebCore to treat seamless documents as having an
1304 updated StyleResolver regardless of what actions the parser takes,
1305 which in turn ensures that the document's style is recalculated
1308 Test: fast/frames/seamless/seamless-srcdoc.html
1311 (WebCore::Document::finishedParsing):
1312 If it's a seamless document, notify it that its StyleResolver isn't
1313 what it might have expected.
1315 2012-12-31 Jeff Rogers <jrogers@rim.com>
1317 [BlackBerry] Fullscreen Media Time Indicators Background Incorrect
1318 https://bugs.webkit.org/show_bug.cgi?id=105888
1320 Reviewed by George Staikos.
1323 Update fullscreen media controls CSS to fix time container background
1324 color. Also fix transparency to be 80% opaque to and the time
1325 remaining text color to match the system player.
1327 No new tests as there is no functionality change.
1329 * css/mediaControlsBlackBerryFullscreen.css:
1330 (video:-webkit-full-screen::-webkit-media-controls-panel):
1331 (video:-webkit-full-screen::-webkit-media-controls-fullscreen-time-display-container):
1332 (video:-webkit-full-screen::-webkit-media-controls-fullscreen-timeline-container):
1333 (video:-webkit-full-screen::-webkit-media-controls-fullscreen-current-time-display):
1334 (video:-webkit-full-screen::-webkit-media-controls-fullscreen-time-remaining-display):
1335 (video:-webkit-full-screen::-webkit-media-controls-fullscreen-button-container, video:-webkit-full-screen::-webkit-media-controls-play-button-container):
1336 (video:-webkit-full-screen::-webkit-media-controls-placeholder):
1338 2012-12-31 Kondapally Kalyan <kalyan.kondapally@intel.com>
1340 [EFL][WebGL] Add compile time support for GLES2.
1341 https://bugs.webkit.org/show_bug.cgi?id=105816
1343 Reviewed by Kenneth Rohde Christiansen.
1345 This patch adds build support for GLES2.
1346 GLES2 support can be enabled during compile time by passing -DENABLE_GLES2=ON as
1347 cmake config parameter. GLES2 options is not enabled by default. This patch doesn't
1348 address all the build issues related to GLES2 but only adds the needed support in
1351 * PlatformEfl.cmake:
1353 2012-12-31 Andy Chen <andchen@rim.com>
1355 [BlackBerry] The HTML5 video fullscreen time indicator on the right cuts clipped when the video is longer than 1 hour
1356 https://bugs.webkit.org/show_bug.cgi?id=105887
1358 Reviewed by George Staikos.
1360 The width of the time part was fixed. Remove it.
1362 No new test is required because no functionality change.
1364 * platform/blackberry/RenderThemeBlackBerry.cpp:
1365 (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
1367 2012-12-30 Kondapally Kalyan <kalyan.kondapally@intel.com>
1369 [EFL] [WebGL] Rename EGLConfigHelper as EGLConfigSelector.
1370 https://bugs.webkit.org/show_bug.cgi?id=105876
1372 Reviewed by Kenneth Rohde Christiansen.
1374 This is to sync the naming conventions of our classes in both EGL and GLX implementations.
1375 In our GLX implementation, class responsible for the same functionality is named as GLXConfigSelector.
1376 This patch renames EGLConfigHelper as EGLConfigSelector.
1378 * PlatformEfl.cmake:
1379 * platform/graphics/surfaces/egl/EGLConfigSelector.cpp: Renamed from Source/WebCore/platform/graphics/surfaces/egl/EGLConfigHelper.cpp.
1381 (WebCore::SharedEGLDisplay::deref):
1382 (WebCore::SharedEGLDisplay::sharedEGLDisplay):
1383 (WebCore::SharedEGLDisplay::SharedEGLDisplay):
1384 (WebCore::SharedEGLDisplay::cleanup):
1385 (WebCore::SharedEGLDisplay::~SharedEGLDisplay):
1386 (WebCore::EGLConfigSelector::EGLConfigSelector):
1387 (WebCore::EGLConfigSelector::~EGLConfigSelector):
1388 (WebCore::EGLConfigSelector::display):
1389 (WebCore::EGLConfigSelector::pBufferContextConfig):
1390 (WebCore::EGLConfigSelector::surfaceContextConfig):
1391 (WebCore::EGLConfigSelector::nativeVisualId):
1392 (WebCore::EGLConfigSelector::reset):
1393 (WebCore::EGLConfigSelector::createConfig):
1394 * platform/graphics/surfaces/egl/EGLConfigSelector.h: Renamed from Source/WebCore/platform/graphics/surfaces/egl/EGLConfigHelper.h.
1397 (WebCore::SharedEGLDisplay::create):
1398 (EGLConfigSelector):
1399 * platform/graphics/surfaces/egl/EGLSurface.cpp:
1400 (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
1401 (WebCore::EGLWindowTransportSurface::configuration):
1402 (WebCore::EGLWindowTransportSurface::destroy):
1403 * platform/graphics/surfaces/egl/EGLSurface.h:
1404 (EGLWindowTransportSurface):
1406 2012-12-30 Philippe Normand <pnormand@igalia.com>
1408 [GStreamer] webaudio/decode-audio-data-basic.html fails
1409 https://bugs.webkit.org/show_bug.cgi?id=105298
1411 Reviewed by Martin Robinson.
1413 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1414 (WebCore::AudioFileReader::createBus): Return a null pointer if an
1415 error happened while processing a media file.
1417 2012-12-30 Christophe Dumez <christophe.dumez@intel.com>
1419 Regression(r138545): Makes WebAudio tests crash
1420 https://bugs.webkit.org/show_bug.cgi?id=105869
1422 Reviewed by Philippe Normand.
1424 Stop using smart pointers and adoptGRef() for the
1425 GstBus object and call gst_object_unref() manually.
1426 This fixes assertions hits when calling adoptGRef()
1427 since the GstBus object has a floating reference.
1429 Alternatively, we could keep using smart pointers
1430 and stop calling adoptGRef() so that
1431 gst_object_ref_sink() is called and the floating
1432 flag is cleared but I think it is clearer to do
1435 No new tests, already covered by existing tests.
1437 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
1438 (WebCore::messageCallback):
1439 (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
1440 (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
1441 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
1442 (WebCore::AudioFileReader::~AudioFileReader):
1443 (WebCore::AudioFileReader::decodeAudioForBusCreation):
1445 2012-12-29 Dimitri Glazkov <dglazkov@chromium.org>
1447 Rename StyleResolver's member variable that holds SelectorChecker to a proper name.
1448 https://bugs.webkit.org/show_bug.cgi?id=105864
1450 In https://bugs.webkit.org/show_bug.cgi?id=105660#c11, Antti suggested renaming m_checker to
1451 m_selectorChecker. I've forgotten about that, but now I remembered it.
1453 Reviewed by Eric Seidel.
1455 No change in functionality, covered by existing tests.
1457 * css/StyleResolver.cpp/h: Renamed all instances of m_checker to m_selectorChecker.
1459 2012-12-29 Dimitri Glazkov <dglazkov@chromium.org>
1461 Move pointer to Document up from SelectorChecker to StyleResolver.
1462 https://bugs.webkit.org/show_bug.cgi?id=105863
1464 Now that SelectorChecker is mostly stateless, it no longer needs to keep a pointer to Document, which
1465 makes all the code in StyleResolver that reaches for it sort of weird.
1467 Reviewed by Eric Seidel.
1469 No change in functionality, covered by existing tests.
1471 * css/SelectorChecker.cpp:
1472 (WebCore::SelectorChecker::SelectorChecker): Changed to take document as argument (only used to set bit fields).
1473 (WebCore::SelectorChecker::checkOneSelector): Changed to use element document.
1474 (WebCore::SelectorChecker::checkScrollbarPseudoClass): Ditto.
1475 * css/SelectorChecker.h:
1476 (WebCore): Removed unnecessary Document forward declaration.
1477 (SelectorChecker): Changed constructor declaration, and removed m_document member.
1478 * css/StyleResolver.cpp:
1479 (WebCore::StyleResolver::StyleResolver): Adjusted SelectorChecker initializer accordingly.
1480 (WebCore::StyleResolver::initElement): Changed to use own document accessor.
1481 (WebCore::StyleResolver::initForStyleResolve): Ditto.
1482 (WebCore::StyleResolver::matchUARules): Ditto.
1483 (WebCore::StyleResolver::styleForPage): Ditto.
1484 (WebCore::StyleResolver::applyProperty): Ditto.
1485 (WebCore::StyleResolver::checkForGenericFamilyChange): Ditto.
1486 (WebCore::StyleResolver::initializeFontStyle): Ditto.
1487 (WebCore::StyleResolver::setFontSize): Ditto.
1488 * css/StyleResolver.h:
1489 (WebCore::StyleResolver::document): Changed to use own member.
1490 (WebCore::StyleResolver::documentSettings): Ditto.
1491 (StyleResolver): Added m_document member.
1492 * dom/SelectorQuery.cpp:
1493 (WebCore::SelectorQuery::matches): Changed callsite to reflect new constructor signature.
1494 (WebCore::SelectorQuery::queryAll): Ditto.
1495 (WebCore::SelectorQuery::queryFirst): Ditto.
1496 * html/shadow/ContentSelectorQuery.cpp:
1497 (WebCore::ContentSelectorChecker::ContentSelectorChecker): Ditto.
1498 (WebCore::ContentSelectorQuery::ContentSelectorQuery): Ditto.
1499 * html/shadow/ContentSelectorQuery.h:
1500 (ContentSelectorChecker): Removed unnecessary argument.
1502 2012-12-29 Otto Derek Cheung <otcheung@rim.com>
1504 [BlackBerry] Cookies with an IP domain are not being loaded properly into memory
1505 https://bugs.webkit.org/show_bug.cgi?id=105859
1509 Reviewed by George Staikos.
1511 The isIP flag isn't persistented in the database. We need to check it
1512 again when we load it into memory.
1514 * platform/blackberry/CookieManager.cpp:
1515 (WebCore::CookieManager::getBackingStoreCookies):
1517 2012-12-29 Kondapally Kalyan <kalyan.kondapally@intel.com>
1519 [EFL][WebGL] Refactor GLXImplementation.
1520 https://bugs.webkit.org/show_bug.cgi?id=105825
1522 Reviewed by Kenneth Rohde Christiansen.
1524 This patch decouples native window management and logic to find surface configuration in GLX implementation.
1526 * platform/graphics/opengl/GLDefs.h:
1527 * platform/graphics/surfaces/glx/GLXConfigSelector.h: Renamed from Source/WebCore/platform/graphics/surfaces/glx/GLXWindowResources.h.
1529 (GLXConfigSelector):
1530 (WebCore::GLXConfigSelector::GLXConfigSelector):
1531 (WebCore::GLXConfigSelector::~GLXConfigSelector):
1532 (WebCore::GLXConfigSelector::visualInfo):
1533 (WebCore::GLXConfigSelector::pBufferContextConfig):
1534 (WebCore::GLXConfigSelector::surfaceContextConfig):
1535 (WebCore::GLXConfigSelector::reset):
1536 (WebCore::GLXConfigSelector::createConfig):
1538 Helper class to find surface configuration.
1540 * platform/graphics/surfaces/glx/GLXContext.h:
1541 (GLXOffScreenContext):
1542 * platform/graphics/surfaces/glx/GLXSurface.cpp:
1543 (WebCore::GLXTransportSurface::GLXTransportSurface):
1544 (WebCore::GLXTransportSurface::configuration):
1545 (WebCore::GLXTransportSurface::setGeometry):
1546 (WebCore::GLXTransportSurface::destroy):
1547 (WebCore::GLXPBuffer::GLXPBuffer):
1548 (WebCore::GLXPBuffer::initialize):
1549 (WebCore::GLXPBuffer::configuration):
1550 * platform/graphics/surfaces/glx/GLXSurface.h:
1551 (GLXTransportSurface):
1554 Inheritance changed from X11OffScreenWindow to GLPlatformSurface.
1556 * platform/graphics/surfaces/glx/X11WindowResources.cpp:
1558 (WebCore::X11OffScreenWindow::X11OffScreenWindow):
1559 (WebCore::X11OffScreenWindow::reSizeWindow):
1560 (WebCore::X11OffScreenWindow::createOffscreenWindow):
1561 (WebCore::X11OffScreenWindow::destroyWindow):
1562 (WebCore::X11OffScreenWindow::nativeSharedDisplay):
1563 (WebCore::X11OffScreenWindow::setVisualInfo):
1564 (WebCore::X11OffScreenWindow::isXRenderExtensionSupported):
1565 * platform/graphics/surfaces/glx/X11WindowResources.h:
1566 (WebCore::SharedX11Resources::create):
1567 (SharedX11Resources):
1568 (X11OffScreenWindow):
1570 Removed code related to surface configiration.
1572 2012-12-29 Eugene Klyuchnikov <eustas@chromium.org>
1574 Web Inspector: [Timeline] cpu bar popover shows wrong duration / cpu time.
1575 https://bugs.webkit.org/show_bug.cgi?id=105854
1577 Reviewed by Vsevolod Vlasov.
1579 Problem: CPU task indexes are already incremented before written to
1582 * inspector/front-end/TimelinePanel.js:
1583 (WebInspector.TimelinePanel.prototype._refreshMainThreadBars):
1584 Use for loop to get correct indexes.
1586 2012-12-28 Ilya Tikhonovsky <loislo@chromium.org>
1588 Web Inspector: Native Memory Instrumentation: instrument not instrumented members.
1589 https://bugs.webkit.org/show_bug.cgi?id=105830
1591 Reviewed by Vsevolod Vlasov.
1593 In some cases we don't want to visit some class members.
1594 As example we decided to skip pointers to interface classes such as GraphicLayerClient.
1595 We could use addWeakPointer for them but it can't be used for nonpointer members.
1596 In the offline discussion we came to a conclusion that we need a new instrumentation
1597 method ignoreMember, which will be used for all the members which we won't like to visit/instrument.
1599 DriveBy: Also I instrumented not yet instrumented members.
1601 * bindings/v8/DOMWrapperMap.h:
1602 (WebCore::DOMWrapperMap::reportMemoryUsage):
1603 * bindings/v8/ScriptWrappable.h:
1604 (WebCore::ScriptWrappable::reportMemoryUsage):
1605 * html/HTMLMediaElement.cpp:
1606 (WebCore::HTMLMediaElement::reportMemoryUsage):
1607 * platform/KURLGoogle.cpp:
1608 (WebCore::KURLGooglePrivate::reportMemoryUsage):
1609 * platform/SharedBuffer.cpp:
1610 (WebCore::SharedBuffer::reportMemoryUsage):
1611 * platform/audio/AudioArray.h:
1612 (WebCore::AudioArray::reportMemoryUsage):
1613 * platform/graphics/GraphicsLayer.cpp:
1614 (WebCore::GraphicsLayer::reportMemoryUsage):
1615 * rendering/RenderLayerCompositor.cpp:
1616 (WebCore::RenderLayerCompositor::reportMemoryUsage):
1617 * rendering/RenderTableSection.cpp:
1618 (WebCore::RenderTableSection::RowStruct::reportMemoryUsage):
1619 * rendering/style/RenderStyle.cpp:
1620 (WebCore::RenderStyle::reportMemoryUsage):
1621 * rendering/style/StyleRareInheritedData.cpp:
1622 (WebCore::StyleRareInheritedData::reportMemoryUsage):
1624 2012-12-29 Andrey Lushnikov <lushnikov@chromium.com>
1626 Web Inspector: refactor DefaultTextEditor - annotate handlers and fix getters style
1627 https://bugs.webkit.org/show_bug.cgi?id=105829
1629 Reviewed by Pavel Feldman.
1631 Refactor DefaultTextEditor.js: improve handler method annotations,
1632 remove "get" prefix from method names, get rid of unnecessary
1633 delegation (e.g. see _handleCut).
1635 No new tests: no change in behaviour.
1637 * inspector/front-end/DefaultTextEditor.js:
1638 (WebInspector.DefaultTextEditor):
1639 (WebInspector.DefaultTextEditor.prototype._contextMenu):
1640 (WebInspector.DefaultTextEditor.prototype.selection):
1641 (WebInspector.DefaultTextEditor.prototype.lastSelection):
1642 (WebInspector.DefaultTextEditor.prototype.wasShown):
1643 (WebInspector.DefaultTextEditor.prototype.willHide):
1644 (WebInspector.TextEditorChunkedPanel.prototype.createNewChunk):
1645 (WebInspector.TextEditorMainPanel):
1646 (WebInspector.TextEditorMainPanel.prototype.wasShown):
1647 (WebInspector.TextEditorMainPanel.prototype.willHide):
1648 (WebInspector.TextEditorMainPanel.prototype.populateContextMenu):
1649 (WebInspector.TextEditorMainPanel.prototype.splitChunkOnALine):
1650 (WebInspector.TextEditorMainPanel.prototype.expandChunks):
1651 (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
1652 (WebInspector.TextEditorMainPanel.prototype.selection):
1653 (WebInspector.TextEditorMainPanel.prototype.lastSelection):
1654 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
1655 (WebInspector.TextEditorMainPanel.prototype._handleSelectionChange):
1656 (WebInspector.TextEditorMainPanel.prototype._handleTextInput):
1657 (WebInspector.TextEditorMainPanel.prototype.handleKeyDown):
1658 (WebInspector.TextEditorMainPanel.prototype._handleCut):
1660 2012-12-28 No'am Rosenthal <noam@webkit.org>
1662 REGRESSION: r138555 asserts on Linux EFL/Qt debug builds
1663 https://bugs.webkit.org/show_bug.cgi?id=105848
1665 Unreviewed test fix.
1667 * platform/graphics/texmap/TextureMapperShaderManager.cpp:
1668 Added parameter name to noop shader.
1670 2012-12-28 No'am Rosenthal <noam@webkit.org>
1672 [Texmap] Use a transform uniform instead of u_flip/u_textureSize
1673 https://bugs.webkit.org/show_bug.cgi?id=105809
1675 Reviewed by Martin Robinson.
1677 In order to support tiled-patterns, we'd have to apply texture-space transformations in the
1679 This patch cleans up the current texture-space transformations, and uses
1680 single matrix uniform instead of the current uniforms.
1682 No new tests, refactor only.
1684 * platform/graphics/texmap/TextureMapperGL.cpp:
1685 (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
1686 * platform/graphics/texmap/TextureMapperShaderManager.cpp:
1688 * platform/graphics/texmap/TextureMapperShaderManager.h:
1689 (TextureMapperShaderProgram):
1691 2012-12-28 No'am Rosenthal <noam@webkit.org>
1693 [Texmap] Edge antialiasing in TextureMapper could be done with less per-pixel calls
1694 https://bugs.webkit.org/show_bug.cgi?id=105377
1696 Reviewed by Kenneth Rohde Christiansen.
1698 Instead of passing 8 quad edge coefficients as uniforms and analyze the distance in the
1699 fragment shader, we render the antialiased quad as 4 edge triangles, which originate in the
1702 The vertex shader expands the quad based on the screen transform, and applies a value to each vertex to be interpolated by the GPU.
1704 It is very difficult to test performance gain; However, the following is apparent:
1705 - The matrix multiplications and inversions done before in the quad inflation code were
1706 always visible in instruments/valgrind and they are now gone.
1707 - We now perform a single smoothstep() command per pixel instead of 8 clamp(dot()) commands.
1708 - It should now be possible to antialias individual edges.
1710 Covered by existing tests.
1712 * platform/graphics/texmap/TextureMapperGL.cpp:
1713 (WebCore::TextureMapperGLData::getStaticVBO):
1714 Cache the unit-rect and edge-triangle vertex data in a VBO.
1716 (WebCore::TextureMapperGLData::~TextureMapperGLData):
1717 Clear the cached VBOs upon destruction.
1719 (WebCore::TextureMapperGL::drawBorder):
1720 (WebCore::TextureMapperGL::drawTexture):
1721 Removed call to useProgram, since it's already called in drawTexturedQuadWithProgram.
1723 (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
1724 (WebCore::TextureMapperGL::drawSolidColor):
1725 Use the new signature "draw" instead of "drawQuad".
1727 (WebCore::TextureMapperGL::drawEdgeTriangles):
1728 (WebCore::TextureMapperGL::drawUnitRect):
1729 (WebCore::TextureMapperGL::draw):
1730 Removed DrawQuad, instead draw either a unit rect or edge triangles.
1732 (WebCore::TextureMapperGL::beginClip):
1733 Use the new setMatrix function.
1735 * platform/graphics/texmap/TextureMapperGL.h:
1736 Added a paint flag for antialiasing.
1738 * platform/graphics/texmap/TextureMapperShaderManager.cpp:
1739 (WebCore::TextureMapperShaderProgram::setMatrix):
1740 Since we now set the matrix in multiple locations, added a convenience
1741 function for matrix uniform.
1743 (WebCore::getShaderSpec):
1744 Update the vertex and fragment shader to account for the new antialiasing
1746 * platform/graphics/texmap/TextureMapperShaderManager.h:
1747 (TextureMapperShaderProgram):
1749 2012-12-28 Mark Rowe <mrowe@apple.com>
1751 Move logic for extracting the OS X marketing version in to WebCore
1752 <http://webkit.org/b/105841> / <rdar://problem/10736041>
1754 Reviewed by Dan Bernstein.
1756 The logic for extracting the OS X markerting version is moved in to systemMarketingVersion
1757 from WebKitSystemInterface (post-10.8) and WebKit (pre-10.8).
1759 * WebCore.exp.in: Export systemMarketingVersion and remove the old WKSI symbol.
1760 * WebCore.xcodeproj/project.pbxproj: Add the new files.
1761 * platform/mac/SystemVersionMac.h: Added.
1762 * platform/mac/SystemVersionMac.mm: Added.
1763 (WebCore::createSystemMarketingVersion): Read the marketing version out of SystemVersion.plist
1764 (WebCore::callGestalt):
1765 (WebCore::createSystemMarketingVersion): Build the marketing version by piecing together the results
1766 of calls to Gestalt.
1767 (WebCore::systemMarketingVersion): Return the cached string.
1768 * platform/mac/WebCoreSystemInterface.h: Remove the old WKSI symbol.
1769 * platform/mac/WebCoreSystemInterface.mm: Ditto.
1771 2012-12-28 Rafael Weinstein <rafaelw@chromium.org>
1773 [Templates]: Fix assert in colgroup parse handling
1774 https://bugs.webkit.org/show_bug.cgi?id=105837
1776 Reviewed by Eric Seidel.
1778 Tests added to html5lib.
1780 * html/parser/HTMLTreeBuilder.cpp:
1781 (WebCore::HTMLTreeBuilder::processEndTag):
1783 2012-12-28 Philippe Normand <pnormand@igalia.com>
1785 [GStreamer] GstMessage handler in AudioDestination
1786 https://bugs.webkit.org/show_bug.cgi?id=105292
1788 Reviewed by Martin Robinson.
1790 Handle GStreamer warnings and errors coming from the playback
1791 pipeline. For now we only display warnings on the console.
1793 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
1794 (WebCore::messageCallback):
1796 (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
1797 (WebCore::AudioDestinationGStreamer::finishBuildingPipelineAfterWavParserPadReady):
1798 (WebCore::AudioDestinationGStreamer::handleMessage):
1799 * platform/audio/gstreamer/AudioDestinationGStreamer.h:
1800 (AudioDestinationGStreamer):
1802 2012-12-28 Martin Robinson <mrobinson@igalia.com>
1804 [GTK][WK2] Add support for IME Composition
1805 https://bugs.webkit.org/show_bug.cgi?id=65093
1807 Reviewed by Carlos Garcia Campos.
1809 No new tests. The GtkInputMethodFilter is covered by unit tests in TestWebKitAPI.
1810 Doing functional tests for this behavior is much more complex.
1812 * platform/gtk/GtkInputMethodFilter.cpp:
1813 (WebCore::GtkInputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents): Now
1814 pass along whether or not an event was faked.
1815 * platform/gtk/GtkInputMethodFilter.h: Ditto.
1817 2012-12-27 Emil A Eklund <eae@chromium.org>
1819 REGRESSION (r138196): Regions with text-overflow: ellipsis; are being ellipsized unnecessarily
1820 https://bugs.webkit.org/show_bug.cgi?id=105600
1822 Reviewed by Darin Adler.
1824 Pixel-snap lineBoxEdge before comparing with the block edge as
1825 the lineBox edge isn't guaranteed to be snapped to device pixels
1828 Test: fast/sub-pixel/ellipsis-table.html
1830 * rendering/RenderBlockLineLayout.cpp:
1831 (WebCore::RenderBlock::checkLinesForTextOverflow):
1833 2012-12-28 Brandon Jones <bajones@chromium.org>
1835 [chromium] DrawingBuffer initialization loop breaks if completely out of memory
1836 https://bugs.webkit.org/show_bug.cgi?id=105732
1838 Reviewed by Kenneth Russell.
1840 When DrawingBuffer allocation fails because s_currentResourceUsePixels is maxed out
1841 it now forces WebGLRenderingContext creation to fail gracefully.
1843 * html/canvas/WebGLRenderingContext.cpp:
1844 (WebCore::WebGLRenderingContext::create): On Chromium, check for failure to allocate a DrawingBuffer
1846 2012-12-28 Dan Bernstein <mitz@apple.com>
1848 Slightly clean up WebCore's Base.xcconfig
1849 https://bugs.webkit.org/show_bug.cgi?id=105808
1851 Reviewed by Sam Weinig.
1853 * Configurations/Base.xcconfig: Simplify the definition of GCC_GENERATE_DEBUGGING_SYMBOLS,
1854 which is always YES.
1856 2012-12-28 Rafael Weinstein <rafaelw@chromium.org>
1858 Heap-use-after-free in WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement
1859 https://bugs.webkit.org/show_bug.cgi?id=105780
1861 Reviewed by Eric Seidel.
1863 This was regression was created by the HTMLTemplateElement implementation. The issue was a missed instance of
1864 "fragment or template contents" case related to the parsing of colgroups.
1866 * html/parser/HTMLTreeBuilder.cpp:
1867 (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
1868 (WebCore::HTMLTreeBuilder::processStartTag):
1869 (WebCore::HTMLTreeBuilder::processCharacterBuffer):
1870 (WebCore::HTMLTreeBuilder::processEndOfFile):
1872 2012-12-27 Vsevolod Vlasov <vsevik@chromium.org>
1874 Web Inspector: Introduce uri as a UISourceCode unique identifier in workspace.
1875 https://bugs.webkit.org/show_bug.cgi?id=105799
1877 Reviewed by Pavel Feldman.
1879 Added uri field to UISourceCode.
1880 Debugger and LiveEdit uiSourceCodes are now created through WorkspaceProviders (not projects yet though)
1881 which are responsible for unique uri generation.
1882 Extracted generic content provider based WorkspaceProvider functionality and url-to-uri conversion logic to ContentProviderWorkspaceProvider class.
1884 * inspector/front-end/BreakpointManager.js:
1885 (WebInspector.BreakpointManager.sourceFileId):
1886 * inspector/front-end/CompilerScriptMapping.js:
1887 * inspector/front-end/DebuggerScriptMapping.js:
1888 (WebInspector.DebuggerScriptMapping):
1889 * inspector/front-end/DefaultScriptMapping.js:
1890 (WebInspector.DefaultScriptMapping):
1891 (WebInspector.DefaultScriptMapping.prototype.addScript):
1892 (WebInspector.DebuggerWorkspaceProvider):
1893 (WebInspector.DebuggerWorkspaceProvider.prototype.addDebuggerFile):
1894 * inspector/front-end/LiveEditSupport.js:
1895 (WebInspector.LiveEditSupport):
1896 (WebInspector.LiveEditSupport.prototype.uiSourceCodeForLiveEdit):
1897 (WebInspector.LiveEditWorkspaceProvider):
1898 (WebInspector.LiveEditWorkspaceProvider.prototype.addLiveEditFile):
1899 * inspector/front-end/NetworkUISourceCodeProvider.js:
1900 (WebInspector.NetworkUISourceCodeProvider.prototype._addFile):
1901 * inspector/front-end/NetworkWorkspaceProvider.js:
1902 (WebInspector.ContentProviderWorkspaceProvider):
1903 (WebInspector.ContentProviderWorkspaceProvider.uriForURL):
1904 (WebInspector.ContentProviderWorkspaceProvider.prototype.addFile):
1905 (WebInspector.ContentProviderWorkspaceProvider.prototype.uniqueURI):
1906 (WebInspector.NetworkWorkspaceProvider):
1907 (WebInspector.NetworkWorkspaceProvider.prototype.addNetworkFile):
1908 * inspector/front-end/SASSSourceMapping.js:
1909 (_bindUISourceCode):
1910 * inspector/front-end/ScriptSnippetModel.js:
1911 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
1912 * inspector/front-end/TabbedEditorContainer.js:
1913 (WebInspector.TabbedEditorContainer):
1914 (WebInspector.TabbedEditorContainer.prototype._scrollChanged):
1915 (WebInspector.TabbedEditorContainer.prototype._selectionChanged):
1916 (WebInspector.TabbedEditorContainer.prototype._editorClosedByUserAction):
1917 (WebInspector.TabbedEditorContainer.prototype._updateHistory.tabIdToURI):
1918 (WebInspector.TabbedEditorContainer.prototype._updateHistory):
1919 (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
1920 (WebInspector.TabbedEditorContainer.prototype.reset):
1921 * inspector/front-end/UISourceCode.js:
1922 (WebInspector.UISourceCode):
1923 (WebInspector.UISourceCode.prototype.uri):
1924 * inspector/front-end/Workspace.js:
1925 (WebInspector.FileDescriptor):
1926 (WebInspector.Project.prototype._fileAdded):
1927 (WebInspector.Project.prototype._fileRemoved):
1928 (WebInspector.Project.prototype.uiSourceCodeForURI):
1929 (WebInspector.Workspace):
1930 (WebInspector.Workspace.prototype.uiSourceCodeForURI):
1931 (WebInspector.Workspace.prototype.addTemporaryUISourceCode):
1932 (WebInspector.Workspace.prototype.removeTemporaryUISourceCode):
1933 (WebInspector.Workspace.prototype.requestFileContent):
1934 (WebInspector.Workspace.prototype.setFileContent):
1935 (WebInspector.Workspace.prototype.searchInFileContent):
1936 (WebInspector.Workspace.prototype.reset):
1937 * inspector/front-end/inspector.js:
1939 2012-12-28 Yury Semikhatsky <yurys@chromium.org>
1941 Web Inspector: debugger should step into event handler on event dispatch
1942 https://bugs.webkit.org/show_bug.cgi?id=105827
1944 Reviewed by Pavel Feldman.
1946 Added m_pauseInNextEventListener to InspectorDOMDebuggerAgent. The flag is set
1947 to true when "step into" is pressed and reset to false when either JS execution
1948 pauses, the agent gets disabled or JS call stack becomes empty. If the flag is
1949 true and the next JS stetement to be executed belongs to a JS event listener we
1950 will stop in that listener, otherwise we have two options:
1951 1) Control flow directly(without comming through the native bindings) reaches some JS
1952 statement and will pause in the corresponding JS function, in which case the
1954 2) JS call stack becomes empty and execution will continue in the native code. We
1955 use didProcessTask to detect such cases and reset the flag to false every time
1956 event queue finishes next task.
1958 Test: inspector/debugger/debugger-step-into-event-listener.html
1960 * inspector/InspectorController.cpp:
1961 (WebCore::InspectorController::InspectorController):
1962 (WebCore::InspectorController::reportMemoryUsage):
1963 (WebCore::InspectorController::didProcessTask):
1964 * inspector/InspectorController.h:
1966 (InspectorController):
1967 * inspector/InspectorDOMDebuggerAgent.cpp:
1968 (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
1969 (WebCore::InspectorDOMDebuggerAgent::stepInto):
1971 (WebCore::InspectorDOMDebuggerAgent::didPause):
1972 (WebCore::InspectorDOMDebuggerAgent::cancelStepIntoEventListener):
1973 (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
1974 (WebCore::InspectorDOMDebuggerAgent::clear):
1975 * inspector/InspectorDOMDebuggerAgent.h:
1976 (InspectorDOMDebuggerAgent):
1977 * inspector/InspectorDebuggerAgent.cpp:
1978 (WebCore::InspectorDebuggerAgent::stepInto):
1979 (WebCore::InspectorDebuggerAgent::didPause):
1980 * inspector/InspectorDebuggerAgent.h:
1983 2012-12-28 Andrey Lushnikov <lushnikov@chromium.com>
1985 Web Inspector: enable mutation observer in LayoutTests
1986 https://bugs.webkit.org/show_bug.cgi?id=105826
1988 Reviewed by Pavel Feldman.
1990 Enable mutation observer in LayoutTests.
1992 No new tests: no change in behaviour.
1994 * inspector/front-end/DOMExtension.js:
1996 2012-12-28 Philippe Normand <pnormand@igalia.com>
1998 [GTK] Some GStreamer-related files don't need to be in libWebCoreGTK
1999 https://bugs.webkit.org/show_bug.cgi?id=105807
2001 Reviewed by Martin Robinson.
2003 * GNUmakefile.list.am: Move some modules not using GTK nor Cairo
2004 to libWebCorePlatform.
2006 2012-12-28 Yury Semikhatsky <yurys@chromium.org>
2008 Web Inspector: rename distanceToWindow to distance
2009 https://bugs.webkit.org/show_bug.cgi?id=105823
2011 Reviewed by Pavel Feldman.
2013 Renamed distanceToWindow to distance. Introduced a method on HeapSnapshot
2014 that allows to check if given node should be displayed to the user as having
2017 * inspector/front-end/HeapSnapshot.js:
2018 (WebInspector.HeapSnapshotEdge.prototype.serialize):
2019 (WebInspector.HeapSnapshotRetainerEdge.prototype.serialize):
2020 (WebInspector.HeapSnapshotNode.prototype.distance):
2021 (WebInspector.HeapSnapshotNode.prototype.serialize):
2022 (WebInspector.HeapSnapshot.prototype._init):
2023 (WebInspector.HeapSnapshot.prototype.dispose):
2024 (WebInspector.HeapSnapshot.prototype.canHaveDistanceOne):
2025 (WebInspector.HeapSnapshot.prototype._calculateDistances):
2026 (WebInspector.HeapSnapshot.prototype._bfs):
2027 (WebInspector.HeapSnapshot.prototype._buildAggregates):
2028 * inspector/front-end/HeapSnapshotDataGrids.js:
2029 (WebInspector.HeapSnapshotRetainmentDataGrid):
2030 (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
2031 (WebInspector.HeapSnapshotConstructorsDataGrid):
2032 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._sortFields):
2033 * inspector/front-end/HeapSnapshotGridNodes.js:
2034 (WebInspector.HeapSnapshotGenericObjectNode):
2035 (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
2036 (WebInspector.HeapSnapshotObjectNode):
2037 (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
2038 (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
2039 (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
2040 (WebInspector.HeapSnapshotConstructorNode):
2041 (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
2042 (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
2043 * inspector/front-end/JSHeapSnapshot.js:
2044 (WebInspector.JSHeapSnapshot.prototype.canHaveDistanceOne):
2046 2012-12-28 Andrey Lushnikov <lushnikov@chromium.com>
2048 Web Inspector: refactor DefaultTextEditor's private methods
2049 https://bugs.webkit.org/show_bug.cgi?id=105797
2051 Reviewed by Pavel Feldman.
2053 - Refactor private methods to public if they are called from external classes
2054 - Get rid of external private variable access.
2056 No tests: no change in behaviour.
2058 * inspector/front-end/DefaultTextEditor.js:
2059 (WebInspector.DefaultTextEditor.prototype.freeCachedElements):
2060 (WebInspector.DefaultTextEditor.prototype._handleTextInput):
2061 (WebInspector.DefaultTextEditor.prototype._handleKeyDown):
2062 (WebInspector.DefaultTextEditor.prototype._handleCut):
2063 (WebInspector.DefaultTextEditor.prototype._contextMenu):
2064 (WebInspector.DefaultTextEditor.prototype._handleScrollChanged):
2065 (WebInspector.DefaultTextEditor.prototype.selection):
2066 (WebInspector.DefaultTextEditor.prototype.lastSelection):
2067 (WebInspector.DefaultTextEditor.prototype.setSelection):
2068 (WebInspector.DefaultTextEditor.prototype.wasShown):
2069 (WebInspector.DefaultTextEditor.prototype._handleFocused):
2070 (WebInspector.DefaultTextEditor.prototype.willHide):
2071 (WebInspector.DefaultTextEditor.prototype.highlightExpression):
2072 (WebInspector.DefaultTextEditor.prototype.overrideViewportForTest):
2073 (WebInspector.TextEditorChunkedPanel.prototype.buildChunks):
2074 (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2075 (WebInspector.TextEditorChunkedPanel.prototype.splitChunkOnALine):
2076 (WebInspector.TextEditorChunkedPanel.prototype.createNewChunk):
2077 (WebInspector.TextEditorChunkedPanel.prototype.scroll):
2078 (WebInspector.TextEditorChunkedPanel.prototype._scheduleRepaintAll):
2079 (WebInspector.TextEditorChunkedPanel.prototype.endUpdates):
2080 (WebInspector.TextEditorChunkedPanel.prototype.chunkForLine):
2081 (WebInspector.TextEditorChunkedPanel.prototype.findVisibleChunks):
2082 (WebInspector.TextEditorChunkedPanel.prototype.repaintAll):
2083 (WebInspector.TextEditorChunkedPanel.prototype.scrollTop):
2084 (WebInspector.TextEditorChunkedPanel.prototype.clientHeight):
2085 (WebInspector.TextEditorChunkedPanel.prototype.expandChunks):
2086 (WebInspector.TextEditorChunkedPanel.prototype.totalHeight):
2087 (WebInspector.TextEditorChunkedPanel.prototype.resize):
2088 (WebInspector.TextEditorGutterPanel):
2089 (WebInspector.TextEditorGutterPanel.prototype.freeCachedElements):
2090 (WebInspector.TextEditorGutterPanel.prototype.createNewChunk):
2091 (WebInspector.TextEditorGutterPanel.prototype.textChanged):
2092 (WebInspector.TextEditorGutterChunk.prototype.get height):
2093 (WebInspector.TextEditorMainPanel):
2094 (WebInspector.TextEditorMainPanel.prototype.wasShown):
2095 (WebInspector.TextEditorMainPanel.prototype.willHide):
2096 (WebInspector.TextEditorMainPanel.prototype.highlightLine):
2097 (WebInspector.TextEditorMainPanel.prototype.freeCachedElements):
2098 (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
2099 (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
2100 (WebInspector.TextEditorMainPanel.prototype.splitChunkOnALine):
2101 (WebInspector.TextEditorMainPanel.prototype.buildChunks):
2102 (WebInspector.TextEditorMainPanel.prototype.createNewChunk):
2103 (WebInspector.TextEditorMainPanel.prototype.expandChunks):
2104 (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
2105 (WebInspector.TextEditorMainPanel.prototype._paintLines):
2106 (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
2107 (WebInspector.TextEditorMainPanel.prototype.getSelection):
2108 (WebInspector.TextEditorMainPanel.prototype.getLastSelection):
2109 (WebInspector.TextEditorMainPanel.prototype.setLastSelection):
2110 (WebInspector.TextEditorMainPanel.prototype.restoreSelection):
2111 (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
2112 (WebInspector.TextEditorMainPanel.prototype.enclosingLineRowOrSelf):
2113 (WebInspector.TextEditorMainPanel.prototype._createLink):
2114 (WebInspector.TextEditorMainPanel.prototype._collectDirtyLines):
2115 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
2116 (WebInspector.TextEditorMainPanel.prototype._guessEditRangeBasedOnSelection):
2117 (WebInspector.TextEditorMainPanel.prototype._removeDecorationsInRange):
2118 (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
2119 (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
2120 (WebInspector.TextEditorMainPanel.prototype.handleSelectionChange):
2121 (WebInspector.TextEditorMainPanel.prototype.handleTextInput):
2122 (WebInspector.TextEditorMainPanel.prototype.handleKeyDown):
2123 (WebInspector.TextEditorMainPanel.prototype.handleCut):
2124 (WebInspector.TextEditorMainPanel.prototype.overrideViewportForTest):
2125 (WebInspector.TextEditorMainChunk.prototype.get height):
2127 2012-12-28 Kondapally Kalyan <kalyan.kondapally@intel.com>
2129 [EFL][WebGL] Add GLES2 support in GraphicsContext3DEfl.
2130 https://bugs.webkit.org/show_bug.cgi?id=105805
2132 Reviewed by Kenneth Rohde Christiansen.
2134 This is in preparation for adding GLES2 support.
2135 This patch adds OPENGL_ES_2 checks in GraphicsContext3DEFl.
2136 With this patch, GraphicsContext3DPrivate uses the FramebufferBlit extension supported by Extensions3D.
2138 * platform/graphics/GraphicsContext3D.h:
2139 (GraphicsContext3D):
2140 * platform/graphics/efl/GraphicsContext3DEfl.cpp:
2141 (WebCore::GraphicsContext3D::GraphicsContext3D):
2142 * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
2143 (GraphicsContext3DPrivate::copyToGraphicsSurface):
2144 * platform/graphics/opengl/GLDefs.h:
2146 2012-12-27 Dimitri Glazkov <dglazkov@chromium.org>
2148 Fix styling/formatting errors, pointed out by Darin Adler while reviewing
2149 https://bugs.webkit.org/show_bug.cgi?id=105752
2151 No functional changes, thus no new tests.
2153 * dom/VisitedLinkState.cpp:
2154 (WebCore::VisitedLinkState::VisitedLinkState): Fixed up constructor syntax.
2155 (WebCore::linkHashForElement): Expanded abbreviation.
2157 2012-12-27 Mike West <mkwst@chromium.org>
2159 Add context to the console message generated by Document::printNavigationErrorMessage.
2160 https://bugs.webkit.org/show_bug.cgi?id=105774
2162 Reviewed by Darin Adler.
2164 When blocking frame navigations, we should give developers more
2165 contextual detail about why the navigation has been blocked. This patch
2166 adds context specifically for sandboxed frames', and gives a slightly
2167 more detailed generic response for all other blockages.
2169 No new tests; the changes to the error message are covered via
2170 rebaselines to existing navigation tests.
2173 (WebCore::printNavigationErrorMessage):
2174 (WebCore::Document::canNavigate):
2175 Pass in a 'reason' parameter when calling printNavigationErrorMessage
2176 to report a blocked navigation.
2178 2012-12-27 Dimitri Glazkov <dglazkov@chromium.org>
2180 Move visited link-checking (and caching) code out of SelectorChecker.
2181 https://bugs.webkit.org/show_bug.cgi?id=105752
2183 SelectorChecker knew too much about visited links and how links are stored in DOM. This change
2184 moves the code to more relevant locations and moves the visited links cache all the way up to Document,
2185 introducing VisitedLinkState class to manage the state of visited links.
2186 Relanding without a null-ptr ref.
2188 Reviewed by Antti Koivisto.
2190 No change in behavior, covered by existing tests.
2192 * CMakeLists.txt: Added VisitedLinkState to build system.
2193 * GNUmakefile.list.am: Ditto.
2194 * Target.pri: Ditto.
2195 * WebCore.gypi: Ditto.
2196 * WebCore.xcodeproj/project.pbxproj: Ditto.
2197 * css/SelectorChecker.cpp: Moved visited-link state code out to VisitedLinkState class.
2198 * css/SelectorChecker.h: Ditto.
2199 * css/StyleResolver.cpp:
2200 (WebCore::StyleResolver::initElement): Changed callsite to use VisitedLinkState.
2201 * css/StyleResolver.h: Removed plumb-throughs that are now unnecessary.
2202 * dom/DOMAllInOne.cpp: Added VisitedLinkState to build system.
2203 * dom/Document.cpp: Added VisitedLinkState initalizer.
2204 * dom/Document.h: Added VisitedLinkState member.
2205 * dom/VisitedLinkState.cpp: Added.
2206 * dom/VisitedLinkState.h: Added.
2207 * history/CachedPage.cpp:
2208 (WebCore::CachedPage::restore): Changed callsite to use VisitedLinkState.
2210 (WebCore::Page::allVisitedStateChanged): Ditto.
2211 (WebCore::Page::visitedStateChanged): Ditto.
2213 2012-12-27 Kondapally Kalyan <kalyan.kondapally@intel.com>
2215 [EFL][WebGL] Implement EGL support with GLX.
2216 https://bugs.webkit.org/show_bug.cgi?id=105602
2218 Reviewed by Kenneth Rohde Christiansen.
2220 This is in preparation for adding GLES2 support.
2221 This patch adds support for EGL with GLX backend. EGL support can be enabled during compile time
2222 by passing -DENABLE_EGL=ON as cmake config parameter. This is disabled by default.
2224 * PlatformEfl.cmake:
2225 * platform/graphics/opengl/GLDefs.h:
2227 * platform/graphics/opengl/GLPlatformContext.cpp:
2229 (WebCore::GLPlatformContext::createContext): Added GLX checks.
2230 (WebCore::GLPlatformContext::createOffScreenContext): Added support for creating EGLOffscreen Context.
2231 (WebCore::GLPlatformContext::createCurrentContextWrapper): Added support for creating EGLCurrentContextWrapper.
2232 * platform/graphics/opengl/GLPlatformContext.h:
2233 * platform/graphics/opengl/GLPlatformSurface.cpp:
2234 (WebCore::GLPlatformSurface::createTransportSurface): Added support for creating EGLSurface.
2236 * platform/graphics/surfaces/egl/EGLContext.cpp: Added.
2238 (WebCore::isRobustnessExtSupported):
2239 (WebCore::EGLCurrentContextWrapper::EGLCurrentContextWrapper):
2240 (WebCore::EGLCurrentContextWrapper::handle):
2241 (WebCore::EGLOffScreenContext::EGLOffScreenContext):
2242 (WebCore::EGLOffScreenContext::initialize):
2243 (WebCore::EGLOffScreenContext::~EGLOffScreenContext):
2244 (WebCore::EGLOffScreenContext::isCurrentContext):
2245 (WebCore::EGLOffScreenContext::platformMakeCurrent):
2246 (WebCore::EGLOffScreenContext::platformReleaseCurrent):
2247 (WebCore::EGLOffScreenContext::freeResources):
2248 (WebCore::EGLOffScreenContext::destroy):
2249 * platform/graphics/surfaces/egl/EGLContext.h:
2251 (EGLCurrentContextWrapper):
2252 (WebCore::EGLCurrentContextWrapper::~EGLCurrentContextWrapper):
2253 (EGLOffScreenContext):
2255 EGL implementation for Context Management.
2257 * platform/graphics/surfaces/egl/EGLSurface.cpp: Added.
2259 (WebCore::EGLWindowTransportSurface::EGLWindowTransportSurface):
2260 (WebCore::EGLWindowTransportSurface::~EGLWindowTransportSurface):
2261 (WebCore::EGLWindowTransportSurface::configuration):
2262 (WebCore::EGLWindowTransportSurface::swapBuffers):
2263 (WebCore::EGLWindowTransportSurface::destroy):
2264 (WebCore::EGLWindowTransportSurface::freeEGLResources):
2265 * platform/graphics/surfaces/egl/EGLSurface.h:
2267 (EGLWindowTransportSurface):
2269 EGL implementation for Offscreen Surface. The surface is backed by native window.
2271 * platform/graphics/surfaces/egl/EGLConfigHelper.cpp: Added.
2273 (WebCore::SharedEGLDisplay::deref):
2274 (WebCore::SharedEGLDisplay::sharedEGLDisplay):
2275 (WebCore::SharedEGLDisplay::SharedEGLDisplay):
2276 (WebCore::SharedEGLDisplay::cleanup):
2277 (WebCore::SharedEGLDisplay::~SharedEGLDisplay):
2278 (WebCore::EGLConfigHelper::EGLConfigHelper):
2279 (WebCore::EGLConfigHelper::~EGLConfigHelper):
2280 (WebCore::EGLConfigHelper::display):
2281 (WebCore::EGLConfigHelper::pBufferContextConfig):
2282 (WebCore::EGLConfigHelper::surfaceContextConfig):
2283 (WebCore::EGLConfigHelper::nativeVisualId):
2284 (WebCore::EGLConfigHelper::reset):
2285 (WebCore::EGLConfigHelper::createConfig):
2287 Helper class to initialize EGL resources and choose right EGL configuration.
2289 2012-12-27 Sheriff Bot <webkit.review.bot@gmail.com>
2291 Unreviewed, rolling out r138509.
2292 http://trac.webkit.org/changeset/138509
2293 https://bugs.webkit.org/show_bug.cgi?id=105806
2295 Caused several tests to crash (Requested by fsamuel on
2299 * GNUmakefile.list.am:
2302 * WebCore.xcodeproj/project.pbxproj:
2303 * css/SelectorChecker.cpp:
2304 (WebCore::linkAttribute):
2306 (WebCore::SelectorChecker::determineLinkStateSlowCase):
2307 (WebCore::SelectorChecker::allVisitedStateChanged):
2308 (WebCore::SelectorChecker::visitedStateChanged):
2309 * css/SelectorChecker.h:
2311 (WebCore::SelectorChecker::determineLinkState):
2313 * css/StyleResolver.cpp:
2314 (WebCore::StyleResolver::initElement):
2315 * css/StyleResolver.h:
2316 (WebCore::StyleResolver::allVisitedStateChanged):
2317 (WebCore::StyleResolver::visitedStateChanged):
2319 * dom/DOMAllInOne.cpp:
2321 (WebCore::Document::Document):
2325 * dom/VisitedLinkState.cpp: Removed.
2326 * dom/VisitedLinkState.h: Removed.
2327 * history/CachedPage.cpp:
2328 (WebCore::CachedPage::restore):
2330 (WebCore::Page::allVisitedStateChanged):
2331 (WebCore::Page::visitedStateChanged):
2333 2012-12-27 Dimitri Glazkov <dglazkov@chromium.org>
2335 Move visited link-checking (and caching) code out of SelectorChecker.
2336 https://bugs.webkit.org/show_bug.cgi?id=105752
2338 SelectorChecker knew too much about visited links and how links are stored in DOM. This change
2339 moves the code to more relevant locations and moves the visited links cache all the way up to Document,
2340 introducing VisitedLinkState class to manage the state of visited links.
2342 Reviewed by Antti Koivisto.
2344 No change in behavior, covered by existing tests.
2346 * CMakeLists.txt: Added VisitedLinkState to build system.
2347 * GNUmakefile.list.am: Ditto.
2348 * Target.pri: Ditto.
2349 * WebCore.gypi: Ditto.
2350 * WebCore.xcodeproj/project.pbxproj: Ditto.
2351 * css/SelectorChecker.cpp: Moved visited-link state code out to VisitedLinkState class.
2352 * css/SelectorChecker.h: Ditto.
2353 * css/StyleResolver.cpp:
2354 (WebCore::StyleResolver::initElement): Changed callsite to use VisitedLinkState.
2355 * css/StyleResolver.h: Removed plumb-throughs that are now unnecessary.
2356 * dom/DOMAllInOne.cpp: Added VisitedLinkState to build system.
2357 * dom/Document.cpp: Added VisitedLinkState initalizer.
2358 * dom/Document.h: Added VisitedLinkState member.
2359 * dom/VisitedLinkState.cpp: Added.
2360 * dom/VisitedLinkState.h: Added.
2361 * history/CachedPage.cpp:
2362 (WebCore::CachedPage::restore): Changed callsite to use VisitedLinkState.
2364 (WebCore::Page::allVisitedStateChanged): Ditto.
2365 (WebCore::Page::visitedStateChanged): Ditto.
2367 2012-12-27 Huang Dongsung <luxtella@company100.net>
2369 [TexMap] Minor refactoring of TextureMapperLayer.
2370 https://bugs.webkit.org/show_bug.cgi?id=105782
2372 Reviewed by Darin Adler.
2374 This patch has two refactorings.
2375 1. Replace TextureMapperPaintOptions from header to implementation file.
2376 2. Add non copyable property to TextureMapperLayer.
2378 No new tests. Refactoring only.
2380 * platform/graphics/texmap/TextureMapperLayer.cpp:
2381 (TextureMapperPaintOptions):
2382 (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
2384 * platform/graphics/texmap/TextureMapperLayer.h:
2386 (TextureMapperLayer):
2388 2012-12-27 Yury Semikhatsky <yurys@chromium.org>
2390 Unreviewed. Use real worker in heap profiler instead of the fake one
2391 (was accidentally switched to the fake worker).
2393 * inspector/front-end/HeapSnapshotProxy.js:
2394 (WebInspector.HeapSnapshotWorker):
2396 2012-12-27 Vsevolod Vlasov <vsevik@chromium.org>
2398 Web Inspector: [Regression] Can not set breakpoints in scripts loaded with source map.
2399 https://bugs.webkit.org/show_bug.cgi?id=105801
2401 Reviewed by Alexander Pavlov.
2403 ResourceScriptMapping now pushes itself to script's source mappings in addScript method.
2404 Binding script to uiSourceCode loaded later is only triggering updateLocations() now.
2406 * inspector/front-end/ResourceScriptMapping.js:
2407 (WebInspector.ResourceScriptMapping.prototype.addScript):
2408 (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
2409 * inspector/front-end/Script.js:
2410 (WebInspector.Script.prototype.disableSourceMapping):
2411 (WebInspector.Script.prototype.enableSourceMapping):
2412 (WebInspector.Script.prototype.pushSourceMapping):
2413 (WebInspector.Script.prototype.popSourceMapping):
2414 (WebInspector.Script.prototype.updateLocations):
2416 2012-12-27 Yury Semikhatsky <yurys@chromium.org>
2418 Web Inspector: remove support for legacy heap graph node format
2419 https://bugs.webkit.org/show_bug.cgi?id=105802
2421 Reviewed by Pavel Feldman.
2423 Removed support for old heap graph node format: we now always store edge count
2424 in each node instead of the first edge index.
2426 * inspector/front-end/HeapSnapshot.js:
2427 (WebInspector.HeapSnapshot.prototype._buildEdgeIndexes):
2429 2012-12-27 Yury Semikhatsky <yurys@chromium.org>
2431 Web Inspector: move js heap snapshot preprocessing to JSHeapSnapshot
2432 https://bugs.webkit.org/show_bug.cgi?id=105798
2434 Reviewed by Pavel Feldman.
2436 HeapSnapshot.js refactorings:
2437 - moved _markInvisibleEdges implementation into JSHeapSnapshot
2438 - moved _calculateFlags implementation into JSHeapSnapshot
2439 - moved _flags array into JSHeapSnapshot
2440 - instead of returning node flags as a field on each node, requesting
2441 snapshot node flag constants from the heap snapshot worker and then
2442 checking for the flags in HeapSnapshotGridNodes now return two optional
2443 boolean fields on each node: canBeQueried and detachedDOMTreeNode
2444 - removed unused propertyAccessor property from serialized heap node
2445 - moved node and edge serialization from providers to the node and edge
2446 classes, js specific fields are serialized only for JSHeapSnapshotNode
2447 - renamed first() to rewind() on providers and iterators
2449 * inspector/front-end/HeapSnapshot.js:
2450 (WebInspector.HeapSnapshotEdge.prototype.serialize):
2451 (WebInspector.HeapSnapshotEdgeIterator.prototype.rewind):
2452 (WebInspector.HeapSnapshotRetainerEdge.prototype.serialize):
2453 (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.rewind):
2454 (WebInspector.HeapSnapshotNode.prototype.isUserObject):
2455 (WebInspector.HeapSnapshotNode.prototype.serialize):
2456 (WebInspector.HeapSnapshotNodeIterator.prototype.rewind):
2457 (WebInspector.HeapSnapshot.prototype._init):
2458 (WebInspector.HeapSnapshot.prototype._buildAggregates):
2459 (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
2460 (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
2461 (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
2462 (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
2463 (WebInspector.HeapSnapshot.prototype._calculateFlags):
2464 (WebInspector.HeapSnapshot.prototype.userObjectsMapAndFlag):
2465 (WebInspector.HeapSnapshot.prototype.):
2466 (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
2467 (WebInspector.HeapSnapshot.prototype.updateStaticData):
2468 (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype._createIterationOrder):
2469 (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.rewind):
2470 (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.isEmpty):
2471 (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeItemsRange):
2472 (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind):
2473 * inspector/front-end/HeapSnapshotGridNodes.js:
2474 (WebInspector.HeapSnapshotGenericObjectNode):
2475 (WebInspector.HeapSnapshotObjectNode):
2476 * inspector/front-end/HeapSnapshotProxy.js:
2477 * inspector/front-end/JSHeapSnapshot.js:
2478 (WebInspector.JSHeapSnapshot):
2479 (WebInspector.JSHeapSnapshot.prototype._markInvisibleEdges):
2480 (WebInspector.JSHeapSnapshot.prototype._calculateFlags):
2481 (WebInspector.JSHeapSnapshot.prototype.userObjectsMapAndFlag):
2482 (WebInspector.JSHeapSnapshot.prototype._flagsOfNode):
2483 (WebInspector.JSHeapSnapshot.prototype._markDetachedDOMTreeNodes):
2484 (WebInspector.JSHeapSnapshot.prototype._markQueriableHeapObjects):
2485 (WebInspector.JSHeapSnapshot.prototype._markPageOwnedNodes):
2486 (WebInspector.JSHeapSnapshotNode.prototype.isUserObject):
2487 (WebInspector.JSHeapSnapshotNode.prototype.serialize):
2489 2012-12-27 Alexander Pavlov <apavlov@chromium.org>
2491 Web Inspector: Refactor SourceMapParser to enable range-based sourcemap
2492 https://bugs.webkit.org/show_bug.cgi?id=105764
2494 Reviewed by Vsevolod Vlasov.
2496 Test: inspector/styles/range-based-mapping.html
2499 * WebCore.vcproj/WebCore.vcproj:
2500 * inspector/compile-front-end.py:
2501 * inspector/front-end/CompilerScriptMapping.js:
2502 (WebInspector.CompilerScriptMapping):
2503 (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
2504 * inspector/front-end/SourceMap.js: Copied from Source/WebCore/inspector/front-end/CompilerScriptMapping.js.
2505 (WebInspector.SourceMap):
2506 Abstract. Renamed from SourceMapParser and supports only direct (generated -> originating source) mapping via findEntry()
2507 (WebInspector.SourceMap.prototype.sources):
2508 (WebInspector.SourceMap.prototype.sourceContent):
2509 (WebInspector.SourceMap.prototype._parseMappingPayload):
2510 (WebInspector.SourceMap.prototype._parseSections):
2511 (WebInspector.SourceMap.prototype._parseMap):
2512 (WebInspector.SourceMap.prototype._isSeparator):
2513 (WebInspector.SourceMap.prototype._decodeVLQ):
2514 (WebInspector.SourceMap.prototype._canonicalizeURL):
2515 (WebInspector.SourceMap.StringCharIterator):
2516 (WebInspector.SourceMap.StringCharIterator.prototype.next):
2517 (WebInspector.SourceMap.StringCharIterator.prototype.peek):
2518 (WebInspector.SourceMap.StringCharIterator.prototype.hasNext):
2519 (WebInspector.PositionBasedSourceMap):
2520 Extends SourceMap and provides direct (compiled -> original source)
2521 and reverse (original -> compiled source) position mapping via findEntryReversed().
2522 (WebInspector.PositionBasedSourceMap.prototype.findEntry):
2523 (WebInspector.PositionBasedSourceMap.prototype.findEntryReversed):
2524 (WebInspector.PositionBasedSourceMap.prototype._parseMap):
2525 (WebInspector.RangeBasedSourceMap):
2526 Extends SourceMap and provides direct range mapping
2527 (compiled source position -> original source range) via findSourceRange().
2528 (WebInspector.RangeBasedSourceMap.MappingComparator):
2529 (WebInspector.RangeBasedSourceMap.prototype.findSourceRange):
2530 (WebInspector.RangeBasedSourceMap.prototype._rangeForStartIndex):
2531 (WebInspector.SourceRange):
2532 * inspector/front-end/WebKit.qrc:
2533 * inspector/front-end/inspector.html:
2535 2012-12-25 Andrey Adaikin <aandrey@chromium.org>
2537 Web Inspector: [Canvas] report if there is any uninstrumented canvas on a page
2538 https://bugs.webkit.org/show_bug.cgi?id=105721
2540 Reviewed by Yury Semikhatsky.
2542 Adding a method to the protocol to report if there is any uninstrumented canvas on a page.
2544 Test: inspector/profiler/canvas2d/canvas-has-uninstrumented-canvases.html
2546 * inspector/InjectedScriptCanvasModuleSource.js:
2548 * inspector/Inspector.json:
2549 * inspector/InspectorCanvasAgent.cpp:
2550 (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
2551 (WebCore::InspectorCanvasAgent::enable):
2552 (WebCore::InspectorCanvasAgent::disable):
2553 (WebCore::InspectorCanvasAgent::hasUninstrumentedCanvases):
2555 (WebCore::InspectorCanvasAgent::captureFrame):
2556 (WebCore::InspectorCanvasAgent::startCapturing):
2557 (WebCore::InspectorCanvasAgent::stopCapturing):
2558 (WebCore::InspectorCanvasAgent::getTraceLog):
2559 (WebCore::InspectorCanvasAgent::replayTraceLog):
2560 (WebCore::InspectorCanvasAgent::ensureHasUninstrumentedCanvasesCalculated):
2561 (WebCore::InspectorCanvasAgent::checkIsEnabled):
2562 (WebCore::InspectorCanvasAgent::reset):
2563 * inspector/InspectorCanvasAgent.h:
2565 (InspectorCanvasAgent):
2566 * inspector/InspectorInstrumentation.cpp:
2568 (WebCore::InspectorInstrumentation::didCommitLoadImpl):
2570 2012-12-27 Vsevolod Vlasov <vsevik@chromium.org>
2572 Web Inspector: Simplify script mappings by introducing DefaultScriptMapping.
2573 https://bugs.webkit.org/show_bug.cgi?id=103038
2575 Reviewed by Pavel Feldman.
2577 DefaultScriptMapping creates a uiSourceCode for each script and set itself as a mapping for the script.
2578 Script can now have a stack of (possibly disabled) mappings, allowing to try several mappings when calculating uiLocation.
2579 LiveEditSupport object is added on WebInspector to support live editing of readonly DefaultScriptMapping's uiSourceCodes.
2580 DefaultScriptMapping is now the only mapping that creates temporary uiSourceCodes.
2582 * English.lproj/localizedStrings.js:
2584 * WebCore.vcproj/WebCore.vcproj:
2585 * inspector/compile-front-end.py:
2586 * inspector/front-end/BreakpointManager.js:
2587 (WebInspector.BreakpointManager):
2588 (WebInspector.BreakpointManager.sourceFileId):
2589 (WebInspector.BreakpointManager.Breakpoint.prototype._breakpointStorageId):
2590 * inspector/front-end/CompilerScriptMapping.js:
2591 (WebInspector.CompilerScriptMapping):
2592 (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
2593 (WebInspector.CompilerScriptMapping.prototype.uiLocationToRawLocation):
2594 (WebInspector.CompilerScriptMapping.prototype._reset):
2595 * inspector/front-end/DebuggerModel.js:
2596 (WebInspector.DebuggerModel.prototype._parsedScriptSource):
2597 * inspector/front-end/DebuggerScriptMapping.js:
2598 (WebInspector.DebuggerScriptMapping):
2599 * inspector/front-end/DefaultScriptMapping.js: Added.
2600 * inspector/front-end/LiveEditSupport.js: Added.
2601 * inspector/front-end/ResourceScriptMapping.js:
2602 (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
2603 (WebInspector.ResourceScriptMapping.prototype.addScript):
2604 (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAddedToWorkspace):
2605 (WebInspector.ResourceScriptMapping.prototype._hasMergedToVM):
2606 (WebInspector.ResourceScriptMapping.prototype._hasDivergedFromVM):
2607 (WebInspector.ResourceScriptMapping.prototype._workspaceUISourceCodeForScript):
2608 (WebInspector.ResourceScriptMapping.prototype._scriptsForUISourceCode):
2609 (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
2610 (WebInspector.ResourceScriptMapping.prototype._reset):
2611 * inspector/front-end/Script.js:
2612 (WebInspector.Script):
2613 (WebInspector.Script.prototype.):
2614 (WebInspector.Script.prototype.editSource):
2615 (WebInspector.Script.prototype.setIsDynamicScript):
2616 (WebInspector.Script.prototype.isDynamicScript):
2617 (WebInspector.Script.prototype.rawLocationToUILocation):
2618 (WebInspector.Script.prototype._enabledSourceMappings):
2619 (WebInspector.Script.prototype._sourceMappingsDiffer):
2620 (WebInspector.Script.prototype.disableSourceMapping):
2621 (WebInspector.Script.prototype.enableSourceMapping):
2622 (WebInspector.Script.prototype.pushSourceMapping):
2623 (WebInspector.Script.prototype.popSourceMapping):
2624 (WebInspector.Script.prototype._updateLocations):
2625 (WebInspector.Script.prototype.createLiveLocation):
2626 * inspector/front-end/ScriptSnippetModel.js:
2627 (WebInspector.ScriptSnippetModel.prototype._projectWillReset):
2628 * inspector/front-end/ScriptsPanel.js:
2629 (WebInspector.ScriptsPanel.prototype._addUISourceCode):
2630 (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
2631 (WebInspector.ScriptsPanel.prototype._createSourceFrame):
2632 * inspector/front-end/WebKit.qrc:
2633 * inspector/front-end/Workspace.js:
2634 (WebInspector.Workspace.prototype.addTemporaryUISourceCode):
2635 * inspector/front-end/inspector.html:
2636 * inspector/front-end/inspector.js:
2638 2012-12-27 Eugene Klyuchnikov <eustas@chromium.org>
2640 Web Inspector: console.profileEnd() crashes if called without arguments
2641 https://bugs.webkit.org/show_bug.cgi?id=105759
2643 Reviewed by Vsevolod Vlasov.
2645 Test: inspector/profiler/cpu-profiler-parameterless-profile-end-crash.html
2647 API allows to finish profile without specifying its name.
2648 Profiler tracks profiles stack and finishes outermost profile.
2649 Finished profile title will be used instead of user-specified one.
2651 * bindings/v8/ScriptProfiler.cpp:
2652 (WebCore::ScriptProfiler::stop): Use title provided by profiler.
2654 2012-12-26 No'am Rosenthal <noam@webkit.org>
2656 [Texmap] Instead of having multiple shaders sources with lots of duplication, we should have one shader source with MACRO variants
2657 https://bugs.webkit.org/show_bug.cgi?id=104815
2659 Reviewed by Kenneth Rohde Christiansen.
2661 Created templates for the vertex and fragment shaders, and added some MACROs in
2662 TextureMapperShaderManager to allow GLSL precompiler-based configuration.
2664 The template follows a pattern where the main function in the shader calls
2665 applyFooBarIfNeeded(), while applyFooBar() is implemented. The Macros prepended to the template define whether applyIfNeeded resolves to the real function or to a noop.
2667 In addition, made some small changes to the filter shaders so that they can use the same code as the normal shaders.
2669 Covered by existing pixel/ref tests when run on Qt/EFL/GTK.
2671 * platform/graphics/texmap/TextureMapperGL.cpp:
2672 (WebCore::TextureMapperGL::drawTexture):
2673 (WebCore::TextureMapperGL::drawSolidColor):
2674 (WebCore::TextureMapperGL::drawTextureWithAntialiasing):
2675 (WebCore::optionsForFilterType):
2677 (WebCore::getPassesRequiredForFilter):
2678 (WebCore::prepareFilterProgram):
2679 (WebCore::TextureMapperGL::drawFiltered):
2680 (WebCore::BitmapTextureGL::applyFilters):
2681 Always draw using the drawQuad function, and use the new TextureMapperShaderManager::Options mask instead of the old ShaderKey.
2683 * platform/graphics/texmap/TextureMapperShaderManager.cpp:
2685 (WebCore::getShaderSpec):
2686 (WebCore::TextureMapperShaderManager::getShaderProgram):
2687 * platform/graphics/texmap/TextureMapperShaderManager.h:
2688 (TextureMapperShaderProgram):
2689 (TextureMapperShaderManager):
2691 2012-12-26 Huang Dongsung <luxtella@company100.net>
2693 [TexMap] A Minor optimization of GraphicsLayerTransform.
2694 https://bugs.webkit.org/show_bug.cgi?id=105758
2696 Reviewed by Noam Rosenthal.
2698 Only multiply the transformation matrices if the paramaters are actually
2701 This optimizes the code path called from flushCompositingStateForThisLayerOnly(),
2702 and potentially setAnimatedTransform().
2704 No new tests. Refactoring only.
2706 * platform/graphics/GraphicsLayerTransform.cpp:
2707 (WebCore::GraphicsLayerTransform::setPosition):
2708 (WebCore::GraphicsLayerTransform::setSize):
2709 (WebCore::GraphicsLayerTransform::setAnchorPoint):
2710 (WebCore::GraphicsLayerTransform::setFlattening):
2711 (WebCore::GraphicsLayerTransform::setLocalTransform):
2712 (WebCore::GraphicsLayerTransform::setChildrenTransform):
2714 2012-12-26 Huang Dongsung <luxtella@company100.net>
2716 [TexMap] Remove unused members and methods in TextureMapperLayer.
2717 https://bugs.webkit.org/show_bug.cgi?id=105755
2719 Reviewed by Noam Rosenthal.
2721 No new tests. Refactoring only.
2723 * platform/graphics/texmap/TextureMapperLayer.h:
2724 (TextureMapperLayer):
2726 (WebCore::TextureMapperLayer::State::State):
2728 2012-12-26 Andreas Kling <akling@apple.com>
2730 [Mac] MemoryPressureHandler: Occasional crashes in uninstall() when responding to memory pressure signal.
2731 <http://webkit.org/b/105772>
2733 Reviewed by Stephanie Lewis.
2735 We can't synchronously dereference _cache_event_source in uninstall() just because m_installed
2736 is true -- the block that initializes _cache_event_source is asynchronous and may not have executed.
2737 Fix this by performing the uninstallation asynchronously on the main queue as well.
2739 * platform/mac/MemoryPressureHandlerMac.mm:
2740 (WebCore::MemoryPressureHandler::uninstall):
2742 2012-12-26 Sheriff Bot <webkit.review.bot@gmail.com>
2744 Unreviewed, rolling out r137905.
2745 http://trac.webkit.org/changeset/137905
2746 https://bugs.webkit.org/show_bug.cgi?id=105765
2748 Popover does not disappear when hovering another identifier in
2749 sources panel. (Requested by vsevik on #webkit).
2751 * inspector/front-end/Popover.js:
2752 (WebInspector.Popover.prototype._innerShow):
2753 * inspector/front-end/popover.css:
2756 2012-12-26 Eugene Klyuchnikov <eustas@chromium.org>
2758 Web Inspector: [Resources] Table lose focus (selection) after deleting cookie.
2759 https://bugs.webkit.org/show_bug.cgi?id=105716
2761 Reviewed by Yury Semikhatsky.
2763 This makes deletion of a set of cookies (using keyboard) painful.
2765 * inspector/front-end/CookieItemsView.js: Call method instead of getter.
2766 * inspector/front-end/CookiesTable.js: Remember and use next selected
2769 2012-12-26 Yury Semikhatsky <yurys@chromium.org>
2771 Web Inspector: extract JS heap profiler specifics into JSHeapSnapshot.js
2772 https://bugs.webkit.org/show_bug.cgi?id=105768
2774 Reviewed by Pavel Feldman.
2776 Inroduced JSHeapSnapshot, JSHeapSnapshotNode, JSHeapSnapshotEdge and JSHeapSnapshotRetainerEdge which
2777 should encapsulate logic specific to JS-heap.
2778 No behavioral changes, covered with existing heap profiler tests.
2781 * WebCore.vcproj/WebCore.vcproj:
2782 * inspector/compile-front-end.py:
2783 * inspector/front-end/HeapSnapshot.js:
2784 (WebInspector.HeapSnapshotEdge.prototype.hasStringName):
2785 (WebInspector.HeapSnapshotEdge.prototype.name):
2786 (WebInspector.HeapSnapshotEdge.prototype.node):
2787 (WebInspector.HeapSnapshotEdge.prototype.toString):
2788 (WebInspector.HeapSnapshotRetainerEdge.prototype._node):
2789 (WebInspector.HeapSnapshotRetainerEdge.prototype._edge):
2790 (WebInspector.HeapSnapshotNode.prototype.className):
2791 (WebInspector.HeapSnapshotNode.prototype.classIndex):
2792 (WebInspector.HeapSnapshotNode.prototype.edges):
2793 (WebInspector.HeapSnapshotNode.prototype.id):
2794 (WebInspector.HeapSnapshotNode.prototype.retainers):
2795 (WebInspector.HeapSnapshot.prototype.createNode):
2796 (WebInspector.HeapSnapshot.prototype.createEdge):
2797 (WebInspector.HeapSnapshot.prototype.createRetainingEdge):
2798 (WebInspector.HeapSnapshot.prototype.rootNode):
2799 (WebInspector.HeapSnapshot.prototype.aggregatesForDiff):
2800 (WebInspector.HeapSnapshot.prototype._buildAggregates):
2801 (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
2802 (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
2803 (WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
2804 (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
2805 (WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider):
2806 (WebInspector.HeapSnapshot.prototype.createNodesProviderForDominator):
2807 (WebInspector.HeapSnapshotNodesProvider.prototype.nodePosition):
2808 * inspector/front-end/HeapSnapshotLoader.js:
2809 (WebInspector.HeapSnapshotLoader.prototype.buildSnapshot):
2810 * inspector/front-end/HeapSnapshotProxy.js:
2811 (WebInspector.HeapSnapshotWorker):
2812 * inspector/front-end/HeapSnapshotWorker.js:
2813 * inspector/front-end/JSHeapSnapshot.js: Added.
2814 (WebInspector.JSHeapSnapshot):
2815 (WebInspector.JSHeapSnapshot.prototype.createNode):
2816 (WebInspector.JSHeapSnapshot.prototype.createEdge):
2817 (WebInspector.JSHeapSnapshot.prototype.createRetainingEdge):
2818 (WebInspector.JSHeapSnapshotNode):
2819 (WebInspector.JSHeapSnapshotNode.prototype.canBeQueried):
2820 (WebInspector.JSHeapSnapshotNode.prototype.isPageObject):
2821 (WebInspector.JSHeapSnapshotNode.prototype.distanceToWindow):
2822 (WebInspector.JSHeapSnapshotNode.prototype.className):
2823 (WebInspector.JSHeapSnapshotNode.prototype.classIndex):
2824 (WebInspector.JSHeapSnapshotNode.prototype.id):
2825 (WebInspector.JSHeapSnapshotNode.prototype.isHidden):
2826 (WebInspector.JSHeapSnapshotNode.prototype.isNative):
2827 (WebInspector.JSHeapSnapshotNode.prototype.isSynthetic):
2828 (WebInspector.JSHeapSnapshotNode.prototype.isWindow):
2829 (WebInspector.JSHeapSnapshotNode.prototype.isDetachedDOMTreesRoot):
2830 (WebInspector.JSHeapSnapshotNode.prototype.isDetachedDOMTree):
2831 (WebInspector.JSHeapSnapshotEdge):
2832 (WebInspector.JSHeapSnapshotEdge.prototype.clone):
2833 (WebInspector.JSHeapSnapshotEdge.prototype.hasStringName):
2834 (WebInspector.JSHeapSnapshotEdge.prototype.isElement):
2835 (WebInspector.JSHeapSnapshotEdge.prototype.isHidden):
2836 (WebInspector.JSHeapSnapshotEdge.prototype.isWeak):
2837 (WebInspector.JSHeapSnapshotEdge.prototype.isInternal):
2838 (WebInspector.JSHeapSnapshotEdge.prototype.isInvisible):
2839 (WebInspector.JSHeapSnapshotEdge.prototype.isShortcut):
2840 (WebInspector.JSHeapSnapshotEdge.prototype.name):
2841 (WebInspector.JSHeapSnapshotEdge.prototype.toString):
2842 (WebInspector.JSHeapSnapshotEdge.prototype._hasStringName):
2843 (WebInspector.JSHeapSnapshotEdge.prototype._name):
2844 (WebInspector.JSHeapSnapshotEdge.prototype._nameOrIndex):
2845 (WebInspector.JSHeapSnapshotEdge.prototype._type):
2846 (WebInspector.JSHeapSnapshotRetainerEdge):
2847 (WebInspector.JSHeapSnapshotRetainerEdge.prototype.clone):
2848 (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isElement):
2849 (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isHidden):
2850 (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isInternal):
2851 (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isInvisible):
2852 (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isShortcut):
2853 (WebInspector.JSHeapSnapshotRetainerEdge.prototype.isWeak):
2854 * inspector/front-end/ProfilesPanel.js:
2855 * inspector/front-end/WebKit.qrc:
2857 2012-12-26 Patrick Gansterer <paroga@webkit.org>
2859 [WIN] Build fix for !USE(CFNETWORK) after r138413.
2861 * platform/network/NetworkStorageSession.h:
2864 2012-12-26 Yury Semikhatsky <yurys@chromium.org>
2866 Web Inspector: prepare HeapSnapshot.js for use with native heap snapshot
2867 https://bugs.webkit.org/show_bug.cgi?id=105763
2869 Reviewed by Alexander Pavlov.
2871 HeapSnapshot.js now expects root node to be either the first or the last (real) one
2872 in the list of all nodes.
2874 * inspector/HeapGraphSerializer.cpp:
2876 (WebCore::HeapGraphSerializer::serialize): reordered node and edge fields so that the go in
2877 the same order as in the JS heap snapshot.
2878 * inspector/front-end/HeapSnapshot.js:
2879 (WebInspector.HeapSnapshot.prototype._buildAggregates):
2880 (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
2881 * inspector/front-end/NativeHeapGraph.js:
2882 (WebInspector.NativeHeapGraph):
2883 (WebInspector.NativeHeapGraph.prototype.root): now there is explicit root node which is the last
2884 one in the list, use it.
2885 (WebInspector.NativeHeapGraph.prototype._calculateNodeEdgeIndexes):
2886 (WebInspector.NativeHeapGraph.prototype._addDummyNode): fixed dummy node first edge index.
2887 (WebInspector.NativeHeapGraph.Edge.prototype.target):
2888 (WebInspector.NativeHeapGraph.Node.prototype.referencedNodes):
2889 * inspector/front-end/NativeMemorySnapshotView.js:
2890 (WebInspector.NativeSnapshotNode.prototype._addChildrenFromGraph): switched to use of the root node
2891 (WebInspector.NativeHeapGraphDataGridRoot.prototype._populate):
2893 2012-12-26 Pan Deng <pan.deng@intel.com>
2895 [Web Inspector]Remove Preview and Response tab from network panel in case websocket.
2896 https://bugs.webkit.org/show_bug.cgi?id=105754
2898 Reviewed by Pavel Feldman.
2900 Network item views for websocket is not consistent before/after receiving a frame.
2901 This change keeps Headers, Frames and Cookies tab for websocket.
2905 * inspector/front-end/NetworkItemView.js:
2906 (WebInspector.NetworkItemView):
2908 2012-12-25 John Griggs <jgriggs@rim.com>
2910 [BlackBerry] Media controls are drawn on top of one another for media with unknown duration.
2911 https://bugs.webkit.org/show_bug.cgi?id=105747
2913 Reviewed by George Staikos.
2915 No need to reposition controls when there is no timeline element, this mispositions them in the new design.
2917 * platform/blackberry/RenderThemeBlackBerry.cpp:
2918 (WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
2920 2012-12-25 Alexander Pavlov <apavlov@chromium.org>
2922 Web Inspector: Crash when modifying a rule that has been removed through JavaScript
2923 https://bugs.webkit.org/show_bug.cgi?id=105718
2925 Reviewed by Yury Semikhatsky.
2927 CSSStyleRules should be stored by RefPtr's to avoid using stale pointers to deleted instances.
2929 Test: inspector/styles/removed-rule-crash.html
2931 * inspector/InspectorStyleSheet.cpp:
2932 (WebCore::InspectorStyleSheet::ruleForId):
2933 (WebCore::InspectorStyleSheet::revalidateStyle):
2934 (WebCore::InspectorStyleSheet::buildArrayForRuleList):
2935 (WebCore::InspectorStyleSheet::collectFlatRules):
2936 * inspector/InspectorStyleSheet.h:
2937 (InspectorStyleSheet):
2939 2012-12-25 Eugene Klyuchnikov <eustas@chromium.org>
2941 Web Inspector: [Console] Add "Replay XHR" context menu item for corresponding messages.
2942 https://bugs.webkit.org/show_bug.cgi?id=105714
2944 Reviewed by Pavel Feldman.
2946 Expose "request" value from console message object and use it in console
2947 context menu generator.
2949 * inspector/front-end/ConsoleMessage.js: Expose "request".
2950 * inspector/front-end/ConsoleView.js: Add "Replay XHR" menu item.
2951 * inspector/front-end/NetworkPanel.js: Fix whitespaces.
2953 2012-12-25 Alexander Pavlov <apavlov@chromium.org>
2955 Web Inspector: Make InspectorState instances per-agent, corresponding to JSON map entries in the cookie
2956 https://bugs.webkit.org/show_bug.cgi?id=105722
2958 Reviewed by Yury Semikhatsky.
2960 Inspector state cookie (in JSON format) has become a map (agent name -> "properties object")
2961 to avoid cross-agent property name clashes in a single property namespace.
2962 As such, InspectorState corresponds to a single "properties object" and is now per-agent,
2963 managed by an InspectorCompositeState (which is owned by [Worker]InspectorController).
2964 Since InspectorCompositeState maps "properties objects" by their agent names, InspectorStates are created
2965 by InspectorCompositeState in the InspectorBaseAgentInterface ctor, using the respective agent name.
2967 No new tests, no change in visible behavior.
2969 * inspector/InspectorAgent.cpp: Pass InspectorCompositeState rather than InspectorState.
2970 * inspector/InspectorAgent.h: Ditto.
2971 * inspector/InspectorApplicationCacheAgent.cpp: Ditto.
2972 * inspector/InspectorApplicationCacheAgent.h: Ditto.
2973 * inspector/InspectorBaseAgent.cpp: Ditto.
2974 (WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface):
2975 Create InspectorState via InspectorCompositeState::createAgentState(agentName).
2976 * inspector/InspectorBaseAgent.h: Pass InspectorCompositeState rather than InspectorState.
2977 * inspector/InspectorCSSAgent.cpp: Ditto.
2978 * inspector/InspectorCSSAgent.h: Ditto.
2979 * inspector/InspectorCanvasAgent.cpp: Ditto.
2980 * inspector/InspectorCanvasAgent.h: Ditto.
2981 * inspector/InspectorConsoleAgent.cpp: Ditto.
2982 * inspector/InspectorConsoleAgent.h: Ditto.
2983 * inspector/InspectorController.cpp: Use InspectorCompositeState rather than InspectorState.
2984 * inspector/InspectorController.h: Ditto.
2985 * inspector/InspectorDOMAgent.cpp: Pass InspectorCompositeState rather than InspectorState.
2986 (WebCore::InspectorDOMAgent::InspectorDOMAgent): Ditto.
2987 * inspector/InspectorDOMAgent.h: Ditto.
2988 * inspector/InspectorDOMDebuggerAgent.cpp: Ditto.
2989 * inspector/InspectorDOMDebuggerAgent.h: Ditto.
2990 * inspector/InspectorDOMStorageAgent.cpp: Ditto.
2991 * inspector/InspectorDOMStorageAgent.h: Ditto.
2992 * inspector/InspectorDatabaseAgent.cpp: Ditto.
2993 * inspector/InspectorDatabaseAgent.h: Ditto.
2994 * inspector/InspectorDebuggerAgent.cpp: Ditto.
2995 * inspector/InspectorDebuggerAgent.h: Ditto.
2996 * inspector/InspectorFileSystemAgent.cpp: Ditto.
2997 * inspector/InspectorFileSystemAgent.h: Ditto.
2998 * inspector/InspectorIndexedDBAgent.cpp: Ditto.
2999 * inspector/InspectorIndexedDBAgent.h: Ditto.
3000 * inspector/InspectorInputAgent.cpp: Ditto.
3001 * inspector/InspectorInputAgent.h: Ditto.
3002 * inspector/InspectorLayerTreeAgent.cpp: Ditto.
3003 * inspector/InspectorLayerTreeAgent.h: Ditto.
3004 * inspector/InspectorMemoryAgent.cpp: Ditto.
3005 * inspector/InspectorMemoryAgent.h: Ditto.
3006 * inspector/InspectorPageAgent.cpp: Ditto.
3007 * inspector/InspectorPageAgent.h: Ditto.
3008 * inspector/InspectorProfilerAgent.cpp: Ditto.
3009 * inspector/InspectorProfilerAgent.h: Ditto.
3010 * inspector/InspectorResourceAgent.cpp: Ditto.
3011 * inspector/InspectorResourceAgent.h: Ditto.
3012 * inspector/InspectorRuntimeAgent.cpp: Ditto.
3013 * inspector/InspectorRuntimeAgent.h: Ditto.
3014 * inspector/InspectorState.cpp: Introduce InspectorCompositeState, refactor.
3015 (WebCore::InspectorState::updateCookie): Delegates to the owning InspectorCompositeState instance.
3016 (WebCore::InspectorState::setFromCookie): Gets called from InspectorCompositeState::loadFromCookie().
3017 (WebCore::InspectorState::remove): Don't forget to update the cookie.
3018 (WebCore::InspectorCompositeState::createAgentState): Creates an InspectorState instance for a named agent.
3019 (WebCore::InspectorCompositeState::loadFromCookie): Restores InspectorStates from a cookie.
3020 (WebCore::InspectorCompositeState::inspectorStateUpdated): Delegate invoked from InspectorState::updateCookie().
3021 * inspector/InspectorState.h:
3022 (InspectorStateUpdateListener): InspectorCompositeState API exposed to InspectorState.
3023 * inspector/InspectorTimelineAgent.cpp: Pass InspectorCompositeState rather than InspectorState.
3024 * inspector/InspectorTimelineAgent.h: Ditto.
3025 * inspector/InspectorWorkerAgent.cpp: Ditto.
3026 * inspector/InspectorWorkerAgent.h: Ditto.
3027 * inspector/PageConsoleAgent.cpp: Ditto.
3028 * inspector/PageConsoleAgent.h: Ditto.
3029 * inspector/PageDebuggerAgent.cpp: Ditto.
3030 * inspector/PageDebuggerAgent.h: Ditto.
3031 * inspector/PageRuntimeAgent.cpp: Ditto.
3032 * inspector/PageRuntimeAgent.h: Ditto.
3033 * inspector/WorkerConsoleAgent.cpp: Ditto.
3034 * inspector/WorkerConsoleAgent.h: Ditto.
3035 * inspector/WorkerDebuggerAgent.cpp: Ditto.
3036 * inspector/WorkerDebuggerAgent.h: Ditto.
3037 * inspector/WorkerInspectorController.cpp: Ditto.
3038 * inspector/WorkerInspectorController.h: Ditto.
3039 * inspector/WorkerRuntimeAgent.cpp: Ditto.
3040 * inspector/WorkerRuntimeAgent.h: Ditto.
3042 2012-12-24 Yury Semikhatsky <yurys@chromium.org>
3044 Memory instrumentation: provide a way to mark a node as a root
3045 https://bugs.webkit.org/show_bug.cgi?id=105737
3047 Reviewed by Alexander Pavlov.
3049 Extended HeapGraphSerializer to add a fake root node with edges to all
3050 real instrumentation roots.
3052 * inspector/HeapGraphSerializer.cpp:
3053 (WebCore::HeapGraphSerializer::reportNode):
3054 (WebCore::HeapGraphSerializer::addRootNode):
3056 * inspector/HeapGraphSerializer.h:
3057 (HeapGraphSerializer):
3059 2012-12-24 Yury Semikhatsky <yurys@chromium.org>
3061 Web Inspector: add message listener only in case of standalone test-runner.html
3062 https://bugs.webkit.org/show_bug.cgi?id=105715
3064 Reviewed by Pavel Feldman.
3066 Tell InspectorFrontendAPI that it is launched by standalone test runner so that it
3067 can decide whether message event listener should be added.
3069 * inspector/front-end/InspectorFrontendAPI.js:
3070 * inspector/front-end/test-runner.html:
3072 2012-12-24 Ilya Tikhonovsky <loislo@chromium.org>
3074 Web Inspector: Native Memory Instrumentation: propagate member type as edge type to the serialized heap graph.
3075 https://bugs.webkit.org/show_bug.cgi?id=105725
3077 Reviewed by Yury Semikhatsky.
3079 MemoryOwningType was renamed to MemberType.
3080 Source argument were removed from reportEdge, reportLeaf and other edge related methods because it is not necessary.
3081 MemberType argument was propagated from MemoryInstrumentation down to HeapGraphSerializer.
3083 * inspector/HeapGraphSerializer.cpp:
3084 (WebCore::HeapGraphEdge::HeapGraphEdge):
3086 (WebCore::HeapGraphSerializer::HeapGraphSerializer):
3087 (WebCore::HeapGraphSerializer::reportEdge):
3088 (WebCore::HeapGraphSerializer::reportLeaf):
3089 (WebCore::HeapGraphSerializer::serialize):
3090 * inspector/HeapGraphSerializer.h:
3091 (HeapGraphSerializer):
3092 * inspector/MemoryInstrumentationImpl.cpp:
3093 (WebCore::MemoryInstrumentationClientImpl::reportEdge):
3094 (WebCore::MemoryInstrumentationClientImpl::reportLeaf):
3095 * inspector/MemoryInstrumentationImpl.h:
3096 (MemoryInstrumentationClientImpl):
3098 2012-12-24 Takashi Sakamoto <tasak@google.com>
3100 ::first-letter { overflow: -webkit-paged-y } causes crash
3101 https://bugs.webkit.org/show_bug.cgi?id=105393
3103 Reviewed by Beth Dakin.
3105 Should check whether e is available or not before invoking
3106 e->hasTagName in adjustRenderStyle in StyleResolver.cpp.
3108 Test: fast/css/pseudo-element-opagedxy-crash.html
3110 * css/StyleResolver.cpp:
3111 (WebCore::StyleResolver::adjustRenderStyle):
3112 If adjustRenderStyle is invoked in pseudoStyleForElement, the given
3113 element is 0. So e is not available. However if the given style's
3114 overflowY is OPAGEDX or OPAGEDY, adjustRenderStyle doesn't check
3115 whether e is available or not before e->hasTagName.
3116 This causes a crash.
3118 2012-12-24 Alexei Filippov <alph@chromium.org>
3120 Web Inspector: add async API for passing renderer process memory stats
3121 https://bugs.webkit.org/show_bug.cgi?id=105278
3123 Reviewed by Yury Semikhatsky.
3125 On some platforms (e.g. Linux) it may take some time to collect
3126 total process memory information as it involves an IPC out of a
3127 sandboxed renderer process. So add an async way to collect the statistics.
3129 * platform/MemoryUsageSupport.cpp:
3130 (WebCore::MemoryUsageSupport::requestProcessMemorySizes):
3132 * platform/MemoryUsageSupport.h:
3133 (MemoryUsageSupport):
3134 (ProcessMemorySizesCallback):
3135 (WebCore::MemoryUsageSupport::ProcessMemorySizesCallback::~ProcessMemorySizesCallback):
3136 * platform/chromium/MemoryUsageSupportChromium.cpp:
3137 (WebCore::MemoryUsageSupport::requestProcessMemorySizes):
3139 * platform/qt/MemoryUsageSupportQt.cpp:
3140 (WebCore::MemoryUsageSupport::requestProcessMemorySizes):
3143 2012-12-24 Laszlo Gombos <l.gombos@samsung.com>
3145 Remove wtf/Platform.h includes from {c|cpp} files
3146 https://bugs.webkit.org/show_bug.cgi?id=105678
3148 Reviewed by Kentaro Hara.
3150 Remove wtf/Platform.h from the include list as it is already
3151 included in config.h.
3153 No new tests as there is no new functionality.
3155 * rendering/svg/RenderSVGRect.cpp:
3157 2012-12-24 Kentaro Hara <haraken@chromium.org>
3159 Follow up fixes for r137739
3160 https://bugs.webkit.org/show_bug.cgi?id=104982
3162 Reviewed by Ryosuke Niwa.
3164 Applied darin's comments in https://bugs.webkit.org/show_bug.cgi?id=104982#c18
3166 No tests. No change in behavior.
3168 * dom/ContainerNode.h:
3169 (WebCore::ChildNodesLazySnapshot::nextNode):
3171 2012-12-24 Tiancheng Jiang <tijiang@rim.com>
3173 Update BB10 media render theme.
3174 https://bugs.webkit.org/show_bug.cgi?id=105728
3176 Reviewed by Rob Buis.
3178 Internally reviewed by John Griggs.
3179 Use GL renderer to paint media control.
3181 * css/mediaControlsBlackBerry.css:
3182 (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
3183 * platform/blackberry/RenderThemeBlackBerry.cpp:
3184 (WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
3185 (WebCore::RenderThemeBlackBerry::paintMediaSliderThumb):
3187 2012-12-24 Sheriff Bot <webkit.review.bot@gmail.com>
3189 Unreviewed, rolling out r138436.
3190 http://trac.webkit.org/changeset/138436
3191 https://bugs.webkit.org/show_bug.cgi?id=105723
3193 Asserts on state restoration in debug builds (Requested by
3194 apavlov on #webkit).
3196 * inspector/InspectorAgent.cpp:
3197 (InspectorAgentState):
3198 (WebCore::InspectorAgent::enable):
3199 (WebCore::InspectorAgent::disable):
3200 (WebCore::InspectorAgent::evaluateForTestInFrontend):
3201 (WebCore::InspectorAgent::inspect):
3202 * inspector/InspectorApplicationCacheAgent.cpp:
3203 (ApplicationCacheAgentState):
3204 (WebCore::InspectorApplicationCacheAgent::restore):
3205 (WebCore::InspectorApplicationCacheAgent::enable):
3206 * inspector/InspectorCSSAgent.cpp:
3208 (WebCore::InspectorCSSAgent::restore):
3209 (WebCore::InspectorCSSAgent::enable):
3210 (WebCore::InspectorCSSAgent::disable):
3211 * inspector/InspectorCanvasAgent.cpp:
3213 (WebCore::InspectorCanvasAgent::restore):
3214 (WebCore::InspectorCanvasAgent::enable):
3215 (WebCore::InspectorCanvasAgent::disable):
3216 * inspector/InspectorController.cpp:
3217 (WebCore::InspectorController::InspectorController):
3218 * inspector/InspectorController.h:
3220 (InspectorController):
3221 * inspector/InspectorDOMStorageAgent.cpp:
3222 (DOMStorageAgentState):
3223 (WebCore::InspectorDOMStorageAgent::restore):
3224 (WebCore::InspectorDOMStorageAgent::enable):
3225 (WebCore::InspectorDOMStorageAgent::disable):
3226 * inspector/InspectorDatabaseAgent.cpp:
3227 (DatabaseAgentState):
3229 (WebCore::InspectorDatabaseAgent::enable):
3230 (WebCore::InspectorDatabaseAgent::disable):
3231 (WebCore::InspectorDatabaseAgent::restore):
3232 * inspector/InspectorDebuggerAgent.cpp:
3233 (WebCore::InspectorDebuggerAgent::disable):
3234 * inspector/InspectorFileSystemAgent.cpp:
3235 (FileSystemAgentState):
3237 (WebCore::InspectorFileSystemAgent::enable):
3238 (WebCore::InspectorFileSystemAgent::disable):
3239 (WebCore::InspectorFileSystemAgent::clearFrontend):
3240 (WebCore::InspectorFileSystemAgent::restore):
3241 * inspector/InspectorIndexedDBAgent.cpp:
3242 (IndexedDBAgentState):
3244 (WebCore::InspectorIndexedDBAgent::restore):
3245 (WebCore::InspectorIndexedDBAgent::enable):
3246 (WebCore::InspectorIndexedDBAgent::disable):
3247 * inspector/InspectorLayerTreeAgent.cpp:
3248 (LayerTreeAgentState):
3249 (WebCore::InspectorLayerTreeAgent::restore):
3250 (WebCore::InspectorLayerTreeAgent::enable):
3251 (WebCore::InspectorLayerTreeAgent::disable):
3252 * inspector/InspectorPageAgent.cpp:
3254 (WebCore::InspectorPageAgent::restore):
3255 (WebCore::InspectorPageAgent::webViewResized):
3256 (WebCore::InspectorPageAgent::enable):
3257 (WebCore::InspectorPageAgent::disable):
3258 (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
3259 (WebCore::InspectorPageAgent::removeScriptToEvaluateOnLoad):
3260 (WebCore::InspectorPageAgent::setDeviceMetricsOverride):
3261 (WebCore::InspectorPageAgent::setShowPaintRects):
3262 (WebCore::InspectorPageAgent::setShowFPSCounter):
3263 (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
3264 (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
3265 (WebCore::InspectorPageAgent::applyScreenWidthOverride):
3266 (WebCore::InspectorPageAgent::applyScreenHeightOverride):
3267 (WebCore::InspectorPageAgent::didPaint):
3268 (WebCore::InspectorPageAgent::didLayout):
3269 (WebCore::InspectorPageAgent::setEmulatedMedia):
3270 (WebCore::InspectorPageAgent::applyEmulatedMedia):
3271 * inspector/InspectorResourceAgent.cpp:
3272 (ResourceAgentState):
3273 (WebCore::InspectorResourceAgent::restore):
3274 (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
3275 (WebCore::InspectorResourceAgent::enable):
3276 (WebCore::InspectorResourceAgent::disable):
3277 * inspector/InspectorState.cpp:
3278 (WebCore::InspectorState::InspectorState):
3279 (WebCore::InspectorState::loadFromCookie):
3281 (WebCore::InspectorState::mute):
3282 (WebCore::InspectorState::unmute):
3283 (WebCore::InspectorState::updateCookie):
3284 (WebCore::InspectorState::remove):
3285 * inspector/InspectorState.h:
3288 (WebCore::InspectorState::setLong):
3289 * inspector/InspectorTimelineAgent.cpp:
3290 (TimelineAgentState):
3291 (WebCore::InspectorTimelineAgent::restore):
3292 (WebCore::InspectorTimelineAgent::start):
3293 (WebCore::InspectorTimelineAgent::stop):
3294 * inspector/WorkerInspectorController.cpp:
3295 (WebCore::WorkerInspectorController::WorkerInspectorController):
3296 * inspector/WorkerInspectorController.h:
3298 (WorkerInspectorController):
3300 2012-12-24 Peter Rybin <prybin@chromium.org>
3302 Web Inspector: Keep LiveEdit API disabled when idle
3303 https://bugs.webkit.org/show_bug.cgi?id=104039
3305 Reviewed by Pavel Feldman.
3307 Guards are added to LiveEdit call
3309 * bindings/v8/ScriptDebugServer.cpp:
3310 (WebCore::ScriptDebugServer::setScriptSource):
3312 2012-12-24 Andrey Lushnikov <lushnikov@chromium.com>
3314 Web Inspector: refactor TextEditorHighlighter's highlight attributes to dense array
3315 https://bugs.webkit.org/show_bug.cgi?id=105626
3317 Reviewed by Pavel Feldman.
3319 Refactor highlight attributes from sparse array to dense array.
3321 No new tests: no behaviour changes, coverage provided by existing tests.
3323 * inspector/front-end/DefaultTextEditor.js:
3324 (WebInspector.TextEditorMainPanel.prototype._paintLine):
3325 (WebInspector.TextEditorMainPanel.prototype._closingBlockOffset):
3326 * inspector/front-end/TextEditorHighlighter.js:
3327 (WebInspector.TextEditorHighlighter.prototype._highlightLines):
3329 2012-12-21 Alexander Pavlov <apavlov@chromium.org>
3331 Web Inspector: Make use of the new InspectorState::remove() in inspector agents
3332 https://bugs.webkit.org/show_bug.cgi?id=105438
3334 Reviewed by Yury Semikhatsky.
3336 This patch introduces the following refactorings:
3337 - setting property values of InspectorState to "empty" objects has been replaced by removing them from the state;
3338 - InspectorState instance is no longer shared across agents, so that the property names can no longer clash.
3339 Instead, InspectorCompositeState creates and owns InspectorState instances for every agent;
3340 - agent-specific prefix has been stripped from most property names, where it looked synthetic.
3341 - updateCookie() is called from InspectorState::remove().
3343 No new tests, as there is no visible change in the behavior.
3345 * inspector/InspectorAgent.cpp: Agent-specific property name prefix stripped.
3346 * inspector/InspectorApplicationCacheAgent.cpp: Ditto.
3347 * inspector/InspectorCSSAgent.cpp: Ditto.
3348 * inspector/InspectorCanvasAgent.cpp: Ditto.
3349 * inspector/InspectorController.cpp: Make use of InspectorCompositeState rather than InspectorState.
3350 * inspector/InspectorController.h: Ditto.
3351 * inspector/InspectorDOMStorageAgent.cpp: Agent-specific property name prefix stripped.
3352 * inspector/InspectorDatabaseAgent.cpp: Ditto.
3353 * inspector/InspectorDebuggerAgent.cpp: Ditto.
3354 (WebCore::InspectorDebuggerAgent::disable):
3355 Use "remove" instead of setting an empty object.
3356 * inspector/InspectorFileSystemAgent.cpp: Agent-specific property name prefix stripped.
3357 * inspector/InspectorIndexedDBAgent.cpp: Ditto.
3358 * inspector/InspectorLayerTreeAgent.cpp: Ditto.
3359 * inspector/InspectorPageAgent.cpp: Ditto.
3360 (WebCore::InspectorPageAgent::disable):
3361 Use "remove" instead of setting empty values for certain properties.
3362 (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
3363 Remove unnecessary code (object is created and put into the map if none is found).
3364 * inspector/InspectorResourceAgent.cpp: Agent-specific property name prefix stripped.
3365 (WebCore::InspectorResourceAgent::disable):
3366 Use "remove" instead of setting an empty object for userAgentOverride.
3367 * inspector/InspectorState.cpp: Add InspectorCompositeState.
3368 (WebCore::InspectorState::setFromCookie): Gets invoked from InspectorCompositeState::loadFromCookie().
3369 (WebCore::InspectorState::updateCookie): Call updateCookie().
3370 (WebCore::InspectorCompositeState::createAgentState): Creates an InspectorState instance to be passed to an agent.
3371 * inspector/InspectorState.h: Add InspectorCompositeState.
3372 (WebCore::InspectorState::setLong): Fix cast.
3373 * inspector/InspectorTimelineAgent.cpp: Agent-specific property name prefix stripped.
3374 * inspector/WorkerInspectorController.cpp: Make use of InspectorCompositeState rather than InspectorState.
3375 * inspector/WorkerInspectorController.h: Ditto.
3377 2012-12-23 Dimitri Glazkov <dglazkov@chromium.org>
3379 Split fast-rejection filter logic off SelectorChecker.
3380 https://bugs.webkit.org/show_bug.cgi?id=105660
3382 The awesome Bloom filter and parent stack logic don't need to be in SelectorChecker. They nicely factor out
3383 into their own pretty thing, named thereby SelectorFilter.
3385 Reviewed by Eric Seidel.
3387 No change in functionality, covered by existing tests.
3389 * CMakeLists.txt: Added SelectorFilter to build systems.
3390 * GNUmakefile.list.am: Ditto.
3391 * Target.pri: Ditto.
3392 * WebCore.gypi: Ditto.
3393 * WebCore.xcodeproj/project.pbxproj: Ditto.
3394 * css/CSSAllInOne.cpp: Ditto.
3395 * css/RuleSet.cpp: Changed to use SelectorFilter.
3396 (WebCore::RuleData::RuleData): Ditto.
3397 * css/SelectorChecker.cpp: Ditto.
3398 * css/SelectorChecker.h: Ditto.
3400 * css/StyleResolver.cpp: Ditto.
3402 (WebCore::StyleResolver::pushParentElement): Ditto.
3403 (WebCore::StyleResolver::popParentElement): Ditto.
3404 (WebCore::StyleResolver::collectMatchingRulesForList): Ditto.
3405 * css/StyleResolver.h:
3406 (StyleResolver): Ditto.
3408 2012-12-23 Qiankun Miao <qiankun.miao@intel.com>
3410 Remove unused reference to "class LayerChromium"
3411 https://bugs.webkit.org/show_bug.cgi?id=105502
3413 Reviewed by Kentaro Hara.
3415 class LayerChromium doesn't exist any more. Just remove the unused
3418 * platform/graphics/chromium/Canvas2DLayerBridge.h:
3420 2012-12-23 Alexey Proskuryakov <ap@apple.com>
3422 <rdar://problem/12808377> Network process should respect cookie accept policy
3423 https://bugs.webkit.org/show_bug.cgi?id=105684
3425 Reviewed by Sam Weinig.
3427 Changed cookie change observer to not use platform strategies, to make it usable
3428 in NetworkProcess. startObservingCookieChanges() now just takes a callback pointer.
3431 * platform/CookiesStrategy.h:
3432 * platform/network/CookieStorage.h:
3433 * platform/network/cf/CookieStorageCFNet.cpp: